Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.017 c
1-51796
Explorer
2002-12-05 08:09
2002.12.16
Как правильней?


1-51787
Roman_Tutov
2002-12-04 12:53
2002.12.16
Как проверить активен-ли процесс


1-51814
Separator
2002-12-05 11:48
2002.12.16
StringGrid


6-51852
ULTRIX
2002-10-10 22:01
2002.12.16
Получение ресурсов к папке


7-51977
isc
2002-10-15 22:50
2002.12.16
Вопрос для профессионалов