Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];

Вниз

Работа проги в 98 и в ХР   Найти похожие ветки 

 
balagur ©   (2006-06-08 07:51) [0]

Доброго времени суток!
Есть прога, которая работала и под 98 и под ХР. Возникла необходимость сделать апгрейд (добавил кнопку с выводом в Ворд результатов выборки). Теперь под 98 она работать не хочет, т.е. ошибок нет, она просто висит в процессах и ни ответа, ни привета. Причем, старый вариант работает нормально, но после того, как запускаешь новую версию нужен ребут, чтобы старый вариант заработал снова.
Подскажите, где подкрутить-посмотреть.
Спасиба.


 
StriderMan ©   (2006-06-08 08:28) [1]

а че показывает отладчик?


 
balagur ©   (2006-06-08 08:47) [2]

дело в том, что на машине пользователя нету Delphi, т.е. я им отношу экзешник уже скомпиленный.


 
ЮЮ ©   (2006-06-08 09:20) [3]


> (добавил кнопку с выводом в Ворд результатов выборки).


А когда дельфи устанавливаешь, не задумывался компоненты какого Offica ставить?

>дело в том, что на машине пользователя нету Delphi, т.е. я им отношу экзешник уже скомпиленный.

Тогда снеси у себя Office XP и поставь Office 97/


 
StriderMan ©   (2006-06-08 09:29) [4]

Проверка на разных версиях ОС обязательный пункт тестирования софта, для этого я лично использую виртуальные машины WMware


 
DevilDevil ©   (2006-06-08 10:10) [5]

Используй не компоненты, а OLE Automation:

var
 MsWord : variant;
begin
 MsWord := CreateOleObject("Word.Application");

...
MsWord.Quit;
MsWord := UnAssigned;
end;


 
tesseract ©   (2006-06-08 10:12) [6]


> дело в том, что на машине пользователя нету Delphi, т.е.
>  я им отношу экзешник уже скомпиленный.


Сделай редим лога тогда что-ли. хоть будешь знать на какой стадии компонент повесился.


 
balagur ©   (2006-06-08 10:51) [7]

Реально снес ХР и поставив 97 Office такая же трабла возникла...
По поводу теста под разными ОС - дельное замечание, учту, заодно про WMware узнаю, что такое и с чем едят.
Сейчас буду делать с Ole. Думаю,что все получится (сообщу обязательно)
Спасибо большое :)


 
ЮЮ ©   (2006-06-08 11:00) [8]


> Думаю,что все получится (сообщу обязательно)


У меня вчера почти такой же код как в  [5]  "висел" под ХР, летая на 2К, где собственно и компилил. Так что ещё ничего не гарантировано.


 
balagur ©   (2006-06-08 11:07) [9]

Не судьба...
try
   MSWord:=CreateOleObject("Word.Application");
   MSWord.Visible:=True;
 except
   Exception.Create("Microsoft Word");
 end;
 MSWord.Documents.Add;
 MSWord.Selection.Font.Size:=12;
 MSWord.Selection.Font.Name:="Arial";
 MSWord.ActiveDocument.PageSetup.Orientation:=wdOrientLandscape;
.......
 MSWord.Selection.TypeText(tx);
 MsWord.Quit;

отладчик пишет:
process not accessible


 
StriderMan ©   (2006-06-08 11:13) [10]


> except
>    Exception.Create("Microsoft Word");
>  end;

raise Exception.Create("Microsoft Word");


 
ЮЮ ©   (2006-06-08 11:20) [11]

А точно там может возникнуть Exeption?
Мне попался такой для проверки успешного старта :

if  VarIsEmpty(MSWord) then
   ShowMessage("Could not start MS Word");


 
StriderMan ©   (2006-06-08 11:25) [12]


> А точно там может возникнуть Exeption?

Вообще Exception там возникнет либо если не найден объект "Word.Application", либо если он не поддерживает св-во Visible.
а вообще проверить > VarIsEmpty(MSWord) тоже неплохо бы. Но лучше MSWord = UnAssigned


 
balagur ©   (2006-06-08 11:28) [13]


> Вообще Exception там возникнет либо если не найден объект
> "Word.Application", либо если он не поддерживает св-во Visible.
>
> а вообще проверить > VarIsEmpty(MSWord) тоже неплохо бы.
>  Но лучше MSWord = UnAssigned


т.е.
MsWord.Quit;
MsWord := UnAssigned; ?

поставил, но результат тот же


 
ЮЮ ©   (2006-06-08 11:29) [14]


> Но лучше MSWord = UnAssigned
>


У меня дома стоит такая интерсная кофигкрация жереза, Ос и Делфи, что на твоем лучше я схлопотал бы ошибку преобразования :)


 
StriderMan ©   (2006-06-08 11:35) [15]

не

> MsWord := UnAssigned

а
if MSWord = UnAssigned then ...


 
ЮЮ ©   (2006-06-08 11:41) [16]

Некошерно сравнивать с UnAssigned, равно как и с NULL.
VarIsEmpty и VarIsNull существуют не для красивого словца.


 
StriderMan ©   (2006-06-08 11:45) [17]


> Некошерно сравнивать с UnAssigned, равно как и с NULL.
> VarIsEmpty и VarIsNull существуют не для красивого словца

Согласен, поторопился.


 
balagur ©   (2006-06-08 11:57) [18]

прописал это    
if VarisEmpty(MsWord) then
  ShowMessage("Could not start MS Word_");
и в try и в except и в конце, но ничего...

залез в Install Packages и нашел, что у меня указана только Microsoft Office XP Sample Automation Server...
может еще и в этом дело?


 
balagur ©   (2006-06-08 12:16) [19]

еще есть какие-нить варианты? а то как-то завально получается :)


 
DevilDevil ©   (2006-06-08 12:17) [20]

Может у клиента MS Office не стоит?


 
balagur ©   (2006-06-08 12:22) [21]

в смысле? Есть все и Ворд и Эксель и все остальное...


 
StriderMan ©   (2006-06-08 12:25) [22]

попробуй тип OleVariant вместо Variant


 
balagur ©   (2006-06-08 12:27) [23]

после пяти неудачных попыток поразить мишень, грузинский биатлонист зарезал ее ножом :)
про меня :) нефтыкается OleVariant...


 
saxon   (2006-06-08 12:29) [24]

Попробуй через набор ShowMessage"ев опредлелить где подвисает.


 
balagur ©   (2006-06-08 12:31) [25]

имеешь ввиду понафтыкать message"й почти после каждой строки?


 
StriderMan ©   (2006-06-08 12:32) [26]


> нефтыкается OleVariant

в смысле? та же самая канитель?


 
saxon   (2006-06-08 12:33) [27]

Да, надо же локализовать проблемный код.
Боюсь что писать в лог-файл не пройдет.


 
balagur ©   (2006-06-08 12:34) [28]

> нефтыкается OleVariant

> в смысле? та же самая канитель?

абсолютно тоже самое, буду втыкивать мессаджи...


 
saxon   (2006-06-08 12:35) [29]

Кстати, а в системных сообщениях ничего нет?
Может там ворд чего написал.


 
StriderMan ©   (2006-06-08 12:41) [30]

а в процессах WINWORD висит?


 
balagur ©   (2006-06-08 12:41) [31]

Ворд даже не запускается, а при уже запущенном ничего не происходит
а стопит его на третьей строке, т.е. он на нее приходит и началось...

begin
 Application.Initialize;
 Application.CreateForm(TFW1, FW1);
 Application.CreateForm(TFSpisok, FSpisok);
 Application.CreateForm(TFEdSp, FEdSp);
 Application.CreateForm(TFpb, Fpb);
 Application.CreateForm(TFImpExp, FImpExp);
 Application.CreateForm(TFVipl, FVipl);
 Application.CreateForm(TFCdisk, FCdisk);
 Application.CreateForm(TFormGor, FormGor);
 Application.Run;
end.


 
StriderMan ©   (2006-06-08 12:46) [32]

а где ОЛЕ объект создается? в FormCreate? туда надо мессаджи фтыкать


 
saxon   (2006-06-08 12:48) [33]


> StriderMan ©   (08.06.06 12:46) [32]

+
и вооще это какой вариант с ОЛЕ или как?


 
balagur ©   (2006-06-08 12:48) [34]

нет, он создается по нажатии на кнопку


 
StriderMan ©   (2006-06-08 12:51) [35]


> нет, он создается по нажатии на кнопку

ээээ. получается что написал код создания объекта ВОРД в обработчике кнопки, а не поднимается сама форма? ерунда какая-то


 
Slym ©   (2006-06-08 12:53) [36]

ЁЁЁ... Скокаа форм сразу создаешь... неправильно это
Создай главною формочку, остальные по необходимости создавай/убивай.

Оно тебе надо постоянно держать в памяти ImpExp? думаю нет.

и отчеты быстрее/надежнее/лучше делать на report помпонентах FastReport/FreeRep/& other, а уж в них по необходимости экспорт куда нуна


 
Slym ©   (2006-06-08 12:55) [37]

Ниче понять не могу... Ты ворд подгружаешь при запуске приложения чтоли? если так то полный маразм


 
balagur ©   (2006-06-08 12:55) [38]

про то и речь, что создается Ворд на кнопке, а ничего не запускается вообще...
специально поставил Showmessage на FormCreate - так он туда даже не дошел


 
saxon   (2006-06-08 12:57) [39]

На форме компонент ворда не лежит?


 
Slym ©   (2006-06-08 12:57) [40]

Закоментируй код с вордом и запустись если не пашет значит трабла в другом



Страницы: 1 2 вся ветка

Форум: "Основная";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.013 c
15-1150983844
tButton
2006-06-22 17:44
2006.07.23
вот =)


15-1150953961
oha
2006-06-22 09:26
2006.07.23
процесс


15-1151405560
Excel222
2006-06-27 14:52
2006.07.23
Вопрос про Excel


2-1151827055
PSPF2003
2006-07-02 11:57
2006.07.23
Тормозим :)


2-1152105202
oleggar
2006-07-05 17:13
2006.07.23
webbrowser





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский