powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / LoadLibrary Windows10
14 сообщений из 14, страница 1 из 1
LoadLibrary Windows10
    #39035559
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток,

Я использую загрузку bpl с помощью SafeLoadLibrary (при использовании LoadLibrary и LoadLibraryEx результат аналогичный),
если bpl зависит от других bpl то на WIN XP, Vista, 7, 8 выдается сообщение об ошибке о том что соответствующая bpl от которой зависит загружаемая не найдена. На Windows 10 сообщение не возникает, если проверять lasterrorcode то возвращается корректный номер ошибки 126, и сообщение "The specified module could not be found." но без указание требуемого модуля.
Как можно узнать какого модуля не хватает, или принудительно "заставить" выводится сообщение об ошибке?

Суть проблемы (подробнее) : Есть две bpl A.bpl и B.bpl. B зависит от A, загружаю B (на PC нету A) на всех Windows кроме WIN 10 получаю окно в котором говориться что A.bpl нету на компе, в Win 10 окна нет.
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39035565
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Windows 10 ещё в бета-стадии. Пиши багреп в Микрософт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39035575
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pit_alex,

А если позвать RaiseLastOSError() (ну или как-то так - я на 100% в названии функции не уверен). Т.е.
Код: pascal
1.
2.
if GetLastError<>0 then 
  RaiseLastOSError();
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39035601
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterА если позвать RaiseLastOSError() (ну или как-то так - я на 100% в названии функции не уверен). Т.е.
Оно это и покажет:
pit_alex"The specified module could not be found."
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39035643
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

вот вот а какой модуль, пойди разбери
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39035719
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pit_alex,

А зачем тебе SafeLoadLibrary() звать, если есть LoadPackage(), который из под себя зовет SafeLoadLibrary(), но Name для загружаемого модуля никуда не девает и при обломе вываливает его в диалоге исключения?
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39035721
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterА зачем тебе SafeLoadLibrary() звать, если есть LoadPackage()
Кстати, да. И еще и выполняет требуемые проверку и инициализацию...
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39035739
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

если использовать LoadPackage без try except то вылетает окно
"Windows is checking for a solution to the problem ..." и долго долго ищет,
если гасить то last error code[message] выдает аналогичные код и ошибку
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39035761
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pit_alex

При попытке Windows "поискать решение" - жми отмену - этим ты прекратишь попытки системы что-то "найти". А потом смотри сообщение об ошибке (странно, неужели на Win7/8 такого нет?).
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39035770
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

на win 7,8 выскакивает окно о том что нет bpl хоть SafeLoadLibrary, хоть LoadPackage. но SysErrorMessage название не найденого пакета не выдает нигде
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39035780
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pit_alex,

При LoadPackage() - слабо верю.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
function LoadPackage(const Name: string; AValidatePackage: TValidatePackageProc): HMODULE;
{$IFDEF LINUX}
var
  DLErrorMsg: string;
{$ENDIF}
begin
{$IFDEF MSWINDOWS}
  Result := SafeLoadLibrary(Name);
{$ENDIF}
{$IFDEF LINUX}
  Result := HMODULE(dlOpen(PChar(Name), PkgLoadingMode));
{$ENDIF}
  if Result = 0 then
  begin
{$IFDEF LINUX}
    DLErrorMsg := dlerror;
{$ENDIF}
    raise EPackageError.CreateResFmt(@sErrorLoadingPackage,               // при обломе вылетит здесь
      [Name,
       {$IFDEF MSWINDOWS}SysErrorMessage(GetLastError){$ENDIF}
       {$IFDEF LINUX}DLErrorMsg{$ENDIF}]);
  end;
  try
    InitializePackage(Result, AValidatePackage);
  except
{$IFDEF MSWINDOWS}
    FreeLibrary(Result);
{$ENDIF}
{$IFDEF LINUX}
    dlclose(Pointer(Result));
{$ENDIF}
    raise;
  end;
end;
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39036086
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterПри LoadPackage() - слабо верю.

мдя, после проверки, оказалось что простой вызов Raise Exception.Create('message'); вызывает в win10 появление окна
Project1.exe has stoped working

A problem caused ....


поэтому LoadPackage валится :-(
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39036120
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pit_alexмдя, после проверки, оказалось что простой вызов Raise Exception.Create('message'); вызывает в win10 появление окна
Есть какие-нибудь ловушки-логгеры для exception типа эврики, jvDebugHundler? Проверь, как они работают.
...
Рейтинг: 0 / 0
LoadLibrary Windows10
    #39036205
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

логеров нет, поставлю позже, но Application Event показывает ошибку

автор- System

- Provider

[ Name] Application Error

- EventID 1000

[ Qualifiers] 0

Level 2

Task 100

Keywords 0x80000000000000

- TimeCreated

[ SystemTime] 2015-08-26T08:20:40.000000000Z

EventRecordID 1648

Channel Application

Computer XXX

Security


- EventData

Project1.exe
0.0.0.0
55dd5410
KERNELBASE.dll
10.0.10240.16384
559f3b2a
0eedfade
000b3e28
de4
01d0dfd81769a573
C:\Temp\bpl\Project1.exe
C:\Windows\SYSTEM32\KERNELBASE.dll
7a0d84e3-07b2-4ef9-a6f4-eb84217b9ceb
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / LoadLibrary Windows10
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]