Форум: "Основная";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
ВнизЗнатоки 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c