Surma
Erfahrenes Mitglied
Es geht weiter mit meinem Editor, der Pluginfaehig ist (Siehe hier)
Ich erzeuge wie folgt waehrend der Laufzeit eine Fensterklasse:
DIese FUnktion wird definitiv aufgerufen und gibt keine Fehlermeldung aus (stuerzt auch nicht ab, o. ae. )
Nun moechte ich mein Fenster fuer das Plugin erzeugen:
Kann mir jemand sagen, warum das Fenster weder visuell noch in Bits und Bytes erzeugt wird?
MfG
Crock
Ich erzeuge wie folgt waehrend der Laufzeit eine Fensterklasse:
Code:
PROCEDURE TPlugin.CreateWndClass ;
VAR
wc : TWndClass ;
BEGIN
IF NOT GetClassInfo (hInstance, pchar('PluginClass'), wc) THEN BEGIN
wc.style := CS_HREDRAW OR CS_VREDRAW ;
wc.lpfnWndProc := @TPlugin.WndProc ;
wc.cbClsExtra := 0 ;
wc.cbWndExtra := 0 ;
wc.hInstance := hInstance ;
wc.hIcon := LoadIcon(0, IDI_APPLICATION) ;
wc.hCursor := LoadCursor(0, IDC_ARROW) ;
wc.hbrBackground := COLOR_WINDOW ;
wc.lpszMenuName := NIL ;
wc.lpszClassName := 'PluginClass' ;
IF RegisterClass (wc) = 0 THEN MessageBox (hParent, 'Plugin-Fensterklasse konnte nicht erzeugt werden.', 'Programmers Editor', 0) ;
END ;
END ;
DIese FUnktion wird definitiv aufgerufen und gibt keine Fehlermeldung aus (stuerzt auch nicht ab, o. ae. )
Nun moechte ich mein Fenster fuer das Plugin erzeugen:
Code:
PluginWnd := CreateWindow ('PluginClass', 'PluginWnd', WS_OVERLAPPEDWINDOW OR WS_VISIBLE, 0, 0, 300, 300, hParent, 0, 0, NIL) ;
IF PluginWnd = 0 THEN MessageBox (0, 'Fehler', 'asd', 0) ;
SetWindowLong (PluginWnd, GWL_WndProc, Cardinal(GetProcAddress (PluginFile, 'WndProc'))) ;
Kann mir jemand sagen, warum das Fenster weder visuell noch in Bits und Bytes erzeugt wird?
MfG
Crock