![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
delphi installshield и потоки [D7, WinXP]
npr2 © (2008-01-17 10:57:00)Здравствуйте, помогите!!
Приложение написано на Delphi7, используются потоки. В среде разработке все работает. Но создаю инсталяшку InstallShield, на другой машине после инсталяции, при запуске приложения выдается ошибка инициализации приложения. Когда в приложении удалила потоки,то задача пошла. Чего не хватает в инсталяшке чтобы работало правильно приложение?
Нужно очень срочно!!!
oxffff (2008-01-18 11:58:00) [1]
> npr2 (18.01.08 11:35) [28]
> Да разница какя что я выдаю. на моем компе ShowMessage('@pFn_CRCnull');
>
> а на клиенте ShowMessage('@pFn_CRC=null');
Для особо непонятливых повторяю,
hLib_CRC:HMODULE;
A:BOOLEAN;
var
a:=hLib_CRCNULL; //Это всегда TRUE для любых hLib_CRC
Если изменишь на hLib_CRC0, и у тебя будет
ShowMessage( 'Íåâîçìîæíî çàãðóçèòü CRC_.DLL' );
То проблема в загрузки библиотеки.
Поэтому разница большая. ;)
Dennis I. Komarov (2008-01-18 11:38:00) [2]> [28] npr2 (18.01.08 11:35)
При прочих равных условиях, у тебя разные длл грузятся
npr2 (2008-01-18 11:35:00) [3]Да разница какя что я выдаю. на моем компе ShowMessage('@pFn_CRC<>null');
а на клиенте ShowMessage('@pFn_CRC=null');
oxffff (2008-01-18 11:24:00) [4]
> oxffff © (18.01.08 11:19) [26]
Почему грузишь 'crc_maker', а выводишь сообщение о CRC_.DLL?
oxffff (2008-01-18 11:19:00) [5]
> npr2 (18.01.08 11:17) [25]
> уже в основной поставила.
> if( hLib_CRC 0) then тоже верно, но картина та же
Картина скорее всего другая вылетает уже наверно на
ShowMessage( 'Íåâîçìîæíî çàãðóçèòü CRC_.DLL' );
Так ли это?
npr2 (2008-01-18 11:17:00) [6]уже в основной поставила.
if( hLib_CRC <>0) then тоже верно, но картина та же
oxffff (2008-01-18 11:10:00) [7]
> if( hLib_CRC <> NULL ) then
if( hLib_CRC <>0) then
Dennis I. Komarov (2008-01-18 11:05:00) [8]> [22] npr2 (18.01.08 11:00)
Этот код выполняется каким потоком?
> я уже ее руками во все места засунула.
кого?
npr2 (2008-01-18 11:00:00) [9]нет не NULL, я уже ее руками во все места засунула. Все тоже.
hLib_CRC:=LoadLibrary('crc_maker');
if( hLib_CRC NULL ) then
begin
@pFn_CRC := GetProcAddress( hLib_CRC, 'CRC16' );
if( @pFn_CRC nil ) then
begin
ShowMessage('@pFn_CRCnull');
end
else
begin
ShowMessage('@pFn_CRC=null'); ///////// Здесь вылетает end;
FreeLibrary( hLib_CRC );
end
else
ShowMessage( 'Íåâîçìîæíî çàãðóçèòü CRC_.DLL' );
Dennis I. Komarov (2008-01-18 10:57:00) [10]> [19] npr2 (18.01.08 10:48)
Сравни dll-ки на разных машинах, поищи с таким же именем, может грузится совсем другая...
oxffff (2008-01-18 10:53:00) [11]
> npr2 (18.01.08 10:42) [17]
А LoadLibrary возвращает 0?
P.S. На клиенте судя по всему нет нужной библиотеки
npr2 (2008-01-18 10:48:00) [12]а что еще он должен (или я руками) подгрузить. Другие dll подключаются без проблем.
Dennis I. Komarov (2008-01-18 10:45:00) [13]> [17] npr2 (18.01.08 10:42)
Инсталятора :)
[8]
npr2 (2008-01-18 10:42:00) [14]я наступила уже, dll подключается, а функцию подклюсить не могу.
GetProcAddress( hLib_CRC, 'CRC16' ) возвращает nil. На компе разработчика работает, а клиента не хочет. Чего не хватает не пойму.
Сергей М. (2008-01-18 08:42:00) [15]
> npr2 (18.01.08 08:33) [15]
Ну ты хоть выяснила, в чем была загвоздка при статической загрузке ?
Я к тому что и при дин.загрузке можно запросто наступить на те же грабли)
npr2 (2008-01-18 08:33:00) [16]Спасибо Сергей М. натолкнул на мысль где поискать. Дело не в потоках и инсталяторе, а подгружаемой статически dll, которая вызывается в потоке. Подгрузила динамически, все пошло. Еще раз спасибо.
oxffff (2008-01-17 12:48:00) [17]
> npr2 (17.01.08 12:35) [12]
Утверждаешь, что при чтении из основного потока из COM порта на целевой машине тоже не работает? Проверяла?
Skyle (2008-01-17 12:38:00) [18]Вам же на королевстве (да и здесь уже тоже) предложили запустить программу со всеми потоками без инсталлятора на другой машине и сравнить ощущения.
Вы пробовали это сделать?
npr2 (2008-01-17 12:35:00) [19]умею.
oxffff (2008-01-17 11:59:00) [20]
> npr2 (17.01.08 11:29) [6]
> в приложении создаю поток и в нем читаю из порта. Раньше
> читала без потока.
А писать вообще умеешь?