Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: auftretende Error bei nonVCL Fenster

  Alt 20. Jul 2008, 17:19
Du solltest GetLastError nur dann aufrufen, wenn ein Fehler von einer Funktion aufgetreten ist, die den letzten Fehler auch setzt, denn ansonsten ist der Wert von GetLastError unbestimmt:
Zitat von RegisterClassEx Function:
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Also so sollte das bei dir aussehen:

Delphi-Quellcode:
function InitWindowClass: DWORD;
begin
  MyNoVCLClass.style := 0;
  MyNoVCLClass.cbSize := SizeOf(TWndClassEx);
  MyNoVCLClass.lpfnWndProc:= @WndProc;
  MyNoVCLClass.cbClsExtra:= 0;
  MyNoVCLClass.cbWndExtra:= 0;
  MyNoVCLClass.hInstance:= HInstance;
  MyNoVCLClass.hIcon:= 0;
  MyNoVCLClass.hCursor:= LoadCursor(0, IDC_ARROW);
  MyNoVCLClass.hbrBackground:= COLOR_WINDOW;
  MyNoVCLClass.lpszMenuName:= nil;
  MyNoVCLClass.lpszClassName:= 'MyTest';
  MyNoVCLClass.hIconSm:= 0;

  Result := RegisterClassEx(MyNoVCLClass);
end;

// ...;

begin
  if InitWindowclass = 0 then
    Writeln(getLastError);
  // ...;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat