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

Вниз

Как прочитать из commdlg.dll текстовый ресурс   Найти похожие ветки 

 
Alexander ©   (2004-01-20 15:04) [0]

Сначала пытаюсь LoadLibrary("commdlg.dll");
выдаёт: Приложение или библиотека C:\WINNT\system32\commdlg.dll не является образом программы для Windows NT. Проверьте назначение установочного диска.

Когда пытаюсь hLib := LoadLibraryEx("commdlg.dll", 0, LOAD_LIBRARY_AS_DATAFILE)
то hLib = 0
GetLastError=193 (ERROR_BAD_EXE_FORMAT) то есть то же самое, но eXeScope его открывает.
Что я не так делаю?


 
Agent13 ©   (2004-01-20 15:15) [1]

Я попробовал у себя сделать то же самое - вылезла эта же ошибка. Единственное, что приходит в голову - commdlg.dll - библиотека под вин 3.1, т.е 16-битная. Ума не приложу, почему LoadLibrary её не понимает, но вызов 32-битной библиотеки:

LoadLibrary("comdlg32.dll")

проходит корректно.


 
Alexander ©   (2004-01-21 08:26) [2]

Порылся в интернете, нашёл инфу, что с 16-ти битовыми dll нужно работать через недокументированные функции винды: LoadLibrary16 и FreeLibrary16
Что-то типа того:
function LoadLibrary16(LibFileName: PAnsiChar): Cardinal; stdcall; external kernel32 index 35;
function FreeLibrary16(hLib: Cardinal): Cardinal; stdcall; external kernel32 index 36;
Но не пашет :(
Может у кого получалось?


 
Agent13 ©   (2004-01-21 15:06) [3]


> function LoadLibrary16(LibFileName: PAnsiChar): Cardinal;
> stdcall; external kernel32 index 35;

Это пашет (ну в том смысле, что эксепшены не вылетают, а насчёт работы с бибилиотекой - то не знаю, не пробовал).
И вообще - тебе это жизненно важно, юзать именно "commdlg.dll"?
"commdlg32.dll" никак не подойдёт?


 
Alexander ©   (2004-01-21 18:03) [4]

В comdlg32.dll нет нужных мне текстовых ресурсов.
Может задача решается иначе?
Мне нужно для задания на печать, которое находится в очереди, получить размер бумаги. В файле commdlg.dll все эти значения присутсвуют (ну например A4 210 x 297 мм для русской винды, а в английской я получу на английском эту строку).
И файл присутсвует во всех версиях Windows - значит сама винда именно его и использует.



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

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

Наверх




Память: 0.47 MB
Время: 0.047 c
1-1079524553
Comp
2004-03-17 14:55
2004.04.04
TStringGrid и DrawFocusRect


3-1078676634
Volodya_
2004-03-07 19:23
2004.04.04
Filter


14-1078516544
Vasya
2004-03-05 22:55
2004.04.04
Что за зверь - D8


11-1059319517
BelchonokH
2003-07-27 19:25
2004.04.04
pstream.free


4-1074600279
Alexander
2004-01-20 15:04
2004.04.04
Как прочитать из commdlg.dll текстовый ресурс