Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2009, 16:22   #1
rangel
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 65
По умолчанию Работа с dll

Есть дллка SFmpq.dll
есть исходник, но он не на делфи,
вот функция
Код:
#define MPQHANDLE HANDLE
#define DWORD long


[helpstring("SFileOpenArchive flags")]
	typedef enum {
		SFILE_OPEN_HARD_DISK_FILE =0x0000,
		SFILE_OPEN_CD_ROM_FILE =   0x0001,
		SFILE_OPEN_ALLOW_WRITE =   0x8000,
	} SFileOpenArchive_Flags;


[entry("SFileOpenArchive"),helpstring("")]
			BOOL      WINAPI SFileOpenArchive(LPCSTR lpFileName, DWORD dwPriority, DWORD dwFlags, MPQHANDLE *hMPQ);
преобразую для делфи эту строчку
Код:
SFileOpenArchive(LPCSTR lpFileName, DWORD dwPriority, DWORD dwFlags, MPQHANDLE *hMPQ);
Код:
implementation

 function SFileOpenArchive(filename:TFileName;dwPriority:DWORD;dwFlags:DWORD;hmpq:THANDLE):boolean;
 external 'SFmpq';
делаю процедуру для кнопки

Код:
SFileOpenArchive('123.w3x',0,0,Listbox1.Handle);
и конечно ничё не работает....
Скажите что неправильно сделал..
rangel вне форума Ответить с цитированием
Старый 05.07.2009, 23:18   #2
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

DWord - LongWord или Cardinal, LPTSTR - PChar,string или так и оставь.
Evgeniy26 вне форума Ответить с цитированием
Старый 05.07.2009, 23:36   #3
rangel
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 65
По умолчанию

Код:
function SFileOpenArchive(filename:TFileName;dwPriority:LongWord;dwFlags:LongWord;hmpq:THANDLE):boolean;
 external 'SFmpq';
Код:
SFileOpenArchive('123.w3x',0,0,Listbox1.Handle);
ошибка

может листбокс или ещё что нибудь нетак?
rangel вне форума Ответить с цитированием
Старый 05.07.2009, 23:42   #4
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Посмотри, как она здесь объявлена - http://hi.baidu.com/rarnu/blog/item/...7970a16b3.html.
Где-то так:
Код:
 function SFileOpenArchive(filename:PChar;dwPriority:longint;dwFlags:longint; var LW: LongWord):boolean;
 external 'SFmpq';

Последний раз редактировалось Evgeniy26; 06.07.2009 в 14:26.
Evgeniy26 вне форума Ответить с цитированием
Старый 06.07.2009, 00:53   #5
rangel
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 65
По умолчанию

интересную ты вещь скинул, буду разбираться... спс
rangel вне форума Ответить с цитированием
Старый 06.07.2009, 14:21   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Код:
#define WINAPI      __stdcall
Значит
Код:
 function SFileOpenArchive(filename: PChar; dwPriority, dwFlags: DWord; var LW: LongWord): BOOL; stdcall;
 external 'SFmpq';
BOBAH13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с DLL soonner Помощь студентам 4 25.03.2009 21:32
Работа с dll Alex Logos Общие вопросы Delphi 3 27.02.2009 10:30
Работа с DLL Lazo Помощь студентам 4 21.02.2009 06:14
Работа с DLL StartMis Общие вопросы Delphi 4 09.02.2009 12:05
Работа с DLL Maks1978 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 18.09.2008 16:55