Вниз
Скачать: 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
1-51708
Tundra
2002-12-06 06:56
2002.12.16
Вопрос по Паскалю. Перебор эл-ов множества.


1-51704
chubr
2002-12-05 21:48
2002.12.16
Буфер обмена.


1-51684
BSD
2002-12-05 16:02
2002.12.16
StarOffice vs Delphi


3-51561
Сергей Ч
2002-11-28 10:23
2002.12.16
Вывод данных на печать или в Excel из DecisionGrid


3-51620
shelest
2002-11-28 11:03
2002.12.16
OLE DB и Oracle




   Наверх