Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.186 Beiträge
 
Delphi 12 Athens
 
#3

AW: Graphik eines anderen Windows Fensters capturen

  Alt 30. Apr 2014, 07:49
Wieso ist das so?
Weil EnumWindowsProc eine Prozedur ist und keine Methode. (maximal kann man das als eine statische Klassen-Methode deklarieren class procedure ...; static; )
Siehe Hilfe.

Beim FindAWindow ist das natürlich egal.

Allerdings haben sie vergessen den Typ der Varible EnumWindowsProc anzugeben.
Variable? Das ist doch die Callback-Funktion.

Aber das Boolean als Result von EnumWindowsProc ist definitiv falsch, denn das muß ein BOOL, bzw. LongBool sein.


Hast du mal nachgesehn wo MSDN-Library durchsuchenEnumWindows definiert ist?
Und schon weißt du, wo man die Hilfe/Informationen dazu findet.


PS: GetMem ... Bedenke daß der Code alt ist, wobei der Tipp noch nicht sooo alt ist, aber dennoch ist das ein ANSI-Coded, auch wenn er automatisch auf Unicode läuft,
aber wenn man bei MSDN-Library durchsuchenGetWindowText, MSDN-Library durchsuchenGetClassName mal in die Doku schaut, dann haben die Größenangaben gefälligst in "Characters" und nicht in Bytes angegeben zu werden.
Somit ist seit D2009 das GetMem zu klein ... unbedingt immer mit ... * SizeOf(Char) die Größe beim GetMem richtig anpassen.

Ach ja, die Größenangabe beim FreeMem ist und war ebenfalls schon immer total falsch.
Entweder richtig, oder am Einfachten garnicht angeben ... also einfach eine 0 .
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (30. Apr 2014 um 07:53 Uhr)
  Mit Zitat antworten Zitat