Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / LoadLibrary Windows10 / 14 сообщений из 14, страница 1 из 1
25.08.2015, 13:11
    #39035559
pit_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LoadLibrary Windows10
Доброго времени суток,

Я использую загрузку 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
25.08.2015, 13:14
    #39035565
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LoadLibrary Windows10
Windows 10 ещё в бета-стадии. Пиши багреп в Микрософт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.08.2015, 13:19
    #39035575
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LoadLibrary Windows10
pit_alex,

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

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

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

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

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

на win 7,8 выскакивает окно о том что нет bpl хоть SafeLoadLibrary, хоть LoadPackage. но SysErrorMessage название не найденого пакета не выдает нигде
...
Рейтинг: 0 / 0
25.08.2015, 16:16
    #39035780
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LoadLibrary Windows10
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
26.08.2015, 08:56
    #39036086
pit_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LoadLibrary Windows10
DarkMasterПри LoadPackage() - слабо верю.

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

A problem caused ....


поэтому LoadPackage валится :-(
...
Рейтинг: 0 / 0
26.08.2015, 09:34
    #39036120
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LoadLibrary Windows10
pit_alexмдя, после проверки, оказалось что простой вызов Raise Exception.Create('message'); вызывает в win10 появление окна
Есть какие-нибудь ловушки-логгеры для exception типа эврики, jvDebugHundler? Проверь, как они работают.
...
Рейтинг: 0 / 0
26.08.2015, 11:27
    #39036205
pit_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LoadLibrary Windows10
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
Форумы / Windows [игнор отключен] [закрыт для гостей] / LoadLibrary Windows10 / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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