![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Адрес WndProc [D6, WinXP]
ZrenBy © (2002-10-07 18:14:00)Приветствую всех.
Есть следующий код.
uses Windows;
type TCLS = class
hWin:HWND;
constructor Create(hInst:Cardinal);
function ClsWndPrc(hW:HWND;uM:UINT;wP:WPARAM;lP:LPARAM):LRESULT;stdcall;
. . . .
end;
....
constructor TCLS.Create(hInst:Cardinal);
var wc:TWNDCLASS;
begin
. . . . .
wc.hInstance := hInst;
wc.lpfnWndProc := @TCLS.ClsWndPrc;// !!!
RegisterClass(wc);
hWin := CreateWindow(...
Здесь он выдает ошибку 1400 - Неверный дескриптор.
Вопрос: Как грамотно присвоить wc.lpfnWndProc адрес
оконной функции ?
PS: Про MakeObjectInstance я знаю. Неужели без него нельзя ?
ZrenBy (2002-10-07 19:40:00) [1]Так я как раз и не хочу использовать объектные методы.
Но я так понял, что в Delphi нельзя создать класс-ненаследник от
TObject. Блин, ну ладно, придется опять все гнать в Буилдер.
troits (2002-10-07 19:09:00) [2]Что значит нельзя? Вызов методов и статических процедур происходит по-разному. Поэтому эти типы и несовместимы. MakeObjectInstance как раз и устраняет эту несовместимость.