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

Вниз

delphi installshield и потоки   Найти похожие ветки 

 
npr2   (2008-01-17 10:57) [0]

Здравствуйте, помогите!!
Приложение написано на Delphi7, используются потоки. В среде разработке все работает. Но создаю инсталяшку  InstallShield, на другой машине после инсталяции, при запуске приложения выдается ошибка инициализации приложения. Когда в приложении удалила потоки,то задача пошла. Чего не хватает в инсталяшке чтобы работало правильно приложение?
Нужно очень срочно!!!


 
Dennis I. Komarov ©   (2008-01-17 11:00) [1]

Того, чего нет на др. машине :) К примеру БДЕ.

Скопируй руками файлы на др. машину и увидишь, что инсталяшка тут не причем.


 
Игорь Шевченко ©   (2008-01-17 11:13) [2]

deja vu


 
npr2   (2008-01-17 11:22) [3]

причем тут БДЕ? Если я просто убрала поток чтения из сом-порта и приложение заработало и этой инсталяшкой.


 
oxffff ©   (2008-01-17 11:24) [4]


> npr2   (17.01.08 11:22) [3]


А читаешь из него (из Сom) в основном потоке?


 
oxffff ©   (2008-01-17 11:24) [5]


> npr2   (17.01.08 11:22) [3]


А читаешь из него (из Сom) в основном потоке?


 
npr2   (2008-01-17 11:29) [6]

в приложении создаю поток и в нем читаю из порта. Раньше читала без потока.


 
sniknik ©   (2008-01-17 11:29) [7]

http://delphimaster.net/view/2-1200224535/
последний ([73]) пост... да и вообще вся ветка будет не лишней к прочтению. т.к. судя по всему действительно "deja vu", путь повторяется...


 
Dennis I. Komarov ©   (2008-01-17 11:46) [8]

> [3] npr2   (17.01.08 11:22)

Ну откуда я знаю чего в потоке твориться. БДЕ - это к примеру было сказано (как наиболее частое).
17 -я строка. Там ошибка.


 
Сергей М. ©   (2008-01-17 11:49) [9]

Ошибка инициализации, как правило, возникает при отсутствующей dll, на которую приложение грузит статически.

Значит, твои "поточные дела" каким-то образом используют эту самую недостающую dll


 
oxffff ©   (2008-01-17 11:59) [10]


> npr2   (17.01.08 11:29) [6]
> в приложении создаю поток и в нем читаю из порта. Раньше
> читала без потока.


А писать вообще умеешь?


 
oxffff ©   (2008-01-17 11:59) [11]


> npr2   (17.01.08 11:29) [6]
> в приложении создаю поток и в нем читаю из порта. Раньше
> читала без потока.


А писать вообще умеешь?


 
npr2   (2008-01-17 12:35) [12]

умею.


 
Skyle ©   (2008-01-17 12:38) [13]

Вам же на королевстве (да и здесь уже тоже) предложили запустить программу со всеми потоками без инсталлятора на другой машине и сравнить ощущения.

Вы пробовали это сделать?


 
oxffff ©   (2008-01-17 12:48) [14]


> npr2   (17.01.08 12:35) [12]


Утверждаешь, что при чтении из основного потока из COM порта на целевой машине тоже не работает? Проверяла?


 
npr2   (2008-01-18 08:33) [15]

Спасибо Сергей М. натолкнул на мысль где поискать. Дело не в потоках и инсталяторе, а подгружаемой статически dll, которая вызывается в потоке. Подгрузила динамически, все пошло. Еще раз спасибо.


 
Сергей М. ©   (2008-01-18 08:42) [16]


> npr2   (18.01.08 08:33) [15]


Ну ты хоть выяснила, в чем была загвоздка при статической загрузке ?
Я к тому что и при дин.загрузке можно запросто наступить на те же грабли)


 
npr2   (2008-01-18 10:42) [17]

я наступила уже, dll подключается, а функцию подклюсить не могу.
GetProcAddress( hLib_CRC, "CRC16" ) возвращает nil. На компе разработчика работает, а клиента не хочет. Чего не хватает не пойму.


 
Dennis I. Komarov ©   (2008-01-18 10:45) [18]

> [17] npr2   (18.01.08 10:42)

Инсталятора :)
[8]


 
npr2   (2008-01-18 10:48) [19]

а что еще он должен (или я руками) подгрузить. Другие dll подключаются без проблем.


 
oxffff ©   (2008-01-18 10:53) [20]


> npr2   (18.01.08 10:42) [17]


А LoadLibrary возвращает 0?

P.S. На клиенте судя по всему нет нужной библиотеки


 
Dennis I. Komarov ©   (2008-01-18 10:57) [21]

> [19] npr2   (18.01.08 10:48)

Сравни dll-ки на разных машинах, поищи с таким же именем, может грузится совсем другая...


 
npr2   (2008-01-18 11:00) [22]

нет не 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_CRC<>null");
 end
 else
 begin
  ShowMessage("@pFn_CRC=null"); /////////Здесь вылетает  end;
 FreeLibrary( hLib_CRC );
end
else
 ShowMessage( "&#205;&#229;&#226;&#238;&#231;&#236;&#238;&#230;&#237;&#238; &#231;&#224;&#227;&#240;&#243;&#231;&#232;&#242;&#252; CRC_.DLL" );


 
Dennis I. Komarov ©   (2008-01-18 11:05) [23]

> [22] npr2   (18.01.08 11:00)

Этот код выполняется каким потоком?

> я уже ее руками во все места засунула.

кого?


 
oxffff ©   (2008-01-18 11:10) [24]


> if( hLib_CRC <> NULL ) then


if( hLib_CRC <>0) then


 
npr2   (2008-01-18 11:17) [25]

уже в основной поставила.
if( hLib_CRC <>0) then тоже верно, но картина та же


 
oxffff ©   (2008-01-18 11:19) [26]


> npr2   (18.01.08 11:17) [25]
> уже в основной поставила.
> if( hLib_CRC <>0) then тоже верно, но картина та же


Картина скорее всего другая вылетает уже наверно на

ShowMessage( "&#205;&#229;&#226;&#238;&#231;&#236;&#238;&#230;&#237;&#238; &#231;&#224;&#227;&#240;&#243;&#231;&#232;&#242;&#252; CRC_.DLL" );

Так ли это?


 
oxffff ©   (2008-01-18 11:24) [27]


> oxffff ©   (18.01.08 11:19) [26]


Почему грузишь "crc_maker", а выводишь сообщение о CRC_.DLL?


 
npr2   (2008-01-18 11:35) [28]

Да разница какя что я выдаю. на моем компе ShowMessage("@pFn_CRC<>null");
а на клиенте ShowMessage("@pFn_CRC=null");


 
Dennis I. Komarov ©   (2008-01-18 11:38) [29]

> [28] npr2   (18.01.08 11:35)

При прочих равных условиях, у тебя разные длл грузятся


 
oxffff ©   (2008-01-18 11:58) [30]


> npr2   (18.01.08 11:35) [28]
> Да разница какя что я выдаю. на моем компе ShowMessage("@pFn_CRC<>null");
>
> а на клиенте ShowMessage("@pFn_CRC=null");


Для особо непонятливых повторяю,

hLib_CRC:HMODULE;
A:BOOLEAN;
var

a:=hLib_CRC<>NULL; //Это всегда TRUE для любых hLib_CRC

Если изменишь на hLib_CRC<>0, и у тебя будет
 ShowMessage( "&#205;&#229;&#226;&#238;&#231;&#236;&#238;&#230;&#237;&#238; &#231;&#224;&#227;&#240;&#243;&#231;&#232;&#242;&#252; CRC_.DLL" );

То проблема в загрузки библиотеки.  

Поэтому разница большая. ;)



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

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

Наверх




Память: 0.51 MB
Время: 0.047 c
2-1200801804
ply
2008-01-20 07:03
2008.02.10
глобальная переменная - доступ из всех форм


4-1183228372
Dmitry_177
2007-06-30 22:32
2008.02.10
Виртуальный диск из образа диска


15-1200029237
Мазут Береговой
2008-01-11 08:27
2008.02.10
Дружба... или что это было?


15-1199742231
Bloodman
2008-01-08 00:43
2008.02.10
Задачка по ТеорВер у


8-1173255248
badevlad
2007-03-07 11:14
2008.02.10
Быстрый ресамплинг изображений





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский