Вниз
Скачать: CL | DM;

Enum & CallBack   Найти похожие ветки 

← →
Nick N A   (2002-10-27 06:58) [0]

Все CallBack функции у меня задыхаются в Delphi после первого шага - нарушение стека.

BOOL CALLBACK PropEnumProc(HWND hwnd, LPCTSTR lpszString, HANDLE hData )
{
result = true;
}// вариант в си работает,
а что нужно Delphi ? (в си я небольшой мастер, да и интерфейс у
Delphi лучше продуман)

неработают даже такой вариант:

procedure Add(lpszString:LPCTSTR);
Begin
Form1.ListBox1.Add(lpszString);
end;


function PropEnumProc;(hwnd:HWND;enumerated
lpszString:LPCTSTR; HANDLE:cardinal ):LongBool;cdecl;
assembler
asm
pusha;// variant 2
push lpszString;//variant 2
call add; //variant 2
popa;//variant 2
end;// ошибка всегда после этой строчки

var wm:HWND;
Begin
wn:=GetForegroundWindow;
ListBox1.Clear;
EnumProps(wn,@PropEnumProc);
end;

Enum - это перечисление различных параметров, свойств, отличный быстрый, часто единственный способ получить информацию о винде


← →
Cobalt ©   (2002-10-27 13:18) [1]

Обычно CallBack-ф-ии - stdcall


← →
Alex4444444444   (2002-10-27 14:40) [2]

VSEGDA stdcall !


← →
Nick N A   (2002-10-30 03:50) [3]

Я уже пробывал stdcall, в справке их гораздо больше :) ,
но ни с одиним из них неработает :( .


← →
Cobalt ©   (2002-10-30 15:14) [4]

BOOL CALLBACK PropEnumProc( HWND hwnd,
// handle to window whose property list is being enumerated
LPCTSTR lpszString,
// string component of property
HANDLE hData
// data handle component of property );

Попробуйте вместо LPCTSTR поставить PCHar


← →
apay ©   (2002-11-02 01:35) [5]

вообще-то в windef.h есть строчка

#define CALLBACK __stdcall


так что если в хелпе сишная ф-я CALLBACK, надо писать stdcall


← →
Digitman ©   (2002-11-02 14:32) [6]

function PropEnumProc(hwnd:THandle;
lpszString:PChar; HANDLE:cardinal):LongBool;stdcall;
begin
Add(lpszString);
Result := True;
end;


← →
Anatoly Podgoretsky ©   (2002-11-02 14:39) [7]

Не только здесь перепутано соглащение о вызове, но и в Add также



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
3-51569
Воропай Андрей
2002-11-25 11:57
2002.12.16
Повторный запуск клиентского приложения не происходит


1-51660
oss
2002-12-04 00:06
2002.12.16
работа приложения основанного на BPL


14-51921
Evgen123
2002-11-25 08:41
2002.12.16
Програмное восстановление базы с устройства


1-51808
kepten
2002-12-05 09:50
2002.12.16
Как неписать много if


1-51780
Prok12
2002-12-04 10:38
2002.12.16
Как рисовать на




   Наверх