Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.02;
Скачать: CL | DM;

Вниз

Знатоки dll и dpl, помогите, плз.   Найти похожие ветки 

 
Praco ©   (2002-08-21 11:41) [0]

Не могу загрузить run-time пакет(dpl).
Вызываю LoadPackage.
LoadPackage вызывает LoadLibrary
LoadLibrary возвращает 0, при этом GetLastError возвращает 31, что соответствует "Присоединенное к системе устройство не работает".
dpl существует, компилируется нормально, лежит в одной папке с вызывающим приложением, кроме того, папка прописана в path.
Другие dpl"и загружаются нормально.
Параметры всех пакетов одинаковы.
В чем может быть дело?


 
Игорь Шевченко ©   (2002-08-21 11:51) [1]

В коде :-)
Код бы неплохо привести


 
Praco ©   (2002-08-21 11:58) [2]

Какой код?

package RepFacult;

{$R *.RES}
{$ALIGN ON}
{$ASSERTIONS OFF}
{$BOOLEVAL OFF}
{$DEBUGINFO OFF}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS OFF}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO OFF}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST ON}
{$MINENUMSIZE 1}
{$IMAGEBASE $00400000}
{$RUNONLY}
{$IMPLICITBUILD OFF}

requires
vcl30,
VCLX30,
VCLDB30,
VCLSMP30,
QRPT30,
RXCTL,
RXDB;

contains
KpSelInsurants,
LnQRepFacult,
LnQRepFacult2,
hoObjInfoRep,
hoMathApi;

end.


 
Praco ©   (2002-08-21 11:59) [3]

До выполнения кода из пакета дело не доходит.
LoadLibrary возвращает 0.


 
Skier ©   (2002-08-21 12:01) [4]

>Praco
А ты прежде "проверь"
имя пакете через FileExists(...)
Что он тебе вернёт...


 
Praco ©   (2002-08-21 12:11) [5]

Skier © (21.08.02 12:01)
Проверял. Третий день парюсь.


 
Игорь Шевченко ©   (2002-08-21 12:13) [6]

Код загрузки пакета, ошибку, которую возвращает GetLastError - телепатов здесь нет


 
Игорь Шевченко ©   (2002-08-21 12:16) [7]

Пардон, не прочитал...Только код загрузки, плз.


 
Praco ©   (2002-08-21 12:20) [8]

Код загрузки пакета
dpl := LoadPackage(ExtractFileName(Edit1.Text));

{SYSUTILS}
function LoadPackage(const Name: string): HMODULE;
begin
//ВОТ ЭТА LoadLibrary ВЕРНЕТ 0
Result := LoadLibrary(PChar(Name));
if (Result > -1) and (Result <= 32) then
raise EPackageError.CreateFmt(sErrorLoadingPackage,
//ВОТ ЭТОТ GetLastError ВЕРНЕТ 31
[Name, SysErrorMessage(GetLastError)]);
try
InitializePackage(Result);
except
FreeLibrary(Result);
raise;
end;
end;



 
Игорь Шевченко ©   (2002-08-21 12:37) [9]

А if FileExists(ExtractFileName(Edit1.Text)) конечно, не судьба поставить ?
Кстати, ошибка может быть из-за того, что файла нет, а в переменной PATH указан кривой путь, к примеру.



 
Praco ©   (2002-08-21 13:35) [10]

Игорь Шевченко © (21.08.02 12:37)
Ставил, проверял. Перемещал dpl в windows\system. Файл существует и лежит где только возмоможно. Остальные dpl лежат рядом с ним и нормально грузятся.



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

Текущий архив: 2002.09.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
7-3643
HowTo
2002-06-19 17:32
2002.09.02
При клике на кнопку изменить частоту обновления экрана на 85 Hz?


3-3271
Ренат
2002-08-12 14:25
2002.09.02
ODBC driver


3-3316
Nameless
2002-08-13 11:08
2002.09.02
Можете поделиться опытом написания 3-х уровневых приложений?


1-3335
lenin
2002-08-21 13:51
2002.09.02
NMSMTP


1-3439
CCCatch
2002-08-20 15:44
2002.09.02
Деление чисел с точкой????