![]() |
EnumWindows Fehler
Delphi-Quellcode:
Wenn ich diese Zeilen aufrufe, bekomme ich immeran der gesternten Stelle die Meldung, Variable erforderlich, was will mir Delphi 5 damit sagen???
function EnumWindowsProc(const hWnd : Longword; Param: lParam): LongBool; stdcall;
var Buffer: array[0..1024] of Char; begin Result := True; GetWindowText(hWnd, Buffer, sizeof(Buffer)); if lstrlen(Buffer) = 0 then begin exit; end else begin Form1.Memo1.Lines.Add (buffer); end; end; {****************************************************} procedure TForm1.Button1Click(Sender: TObject); var LPARRAM : DWord; begin EnumWindows (@EnumWindowsProc,Integer(@LPARRAM)); *********** end; Danke! [edit=r_kerber]Delphi-Tags gesetzt! Mfg, r_kerber[/edit] |
Re: EnumWindows Fehler
Hallo yoppu,
Nutze das nächste mal bitte die Delphi-Tags. Dann läßt sich der Quellcode besser lesen. Zur Frage: Nimm mal das Integer weg. |
Re: EnumWindows Fehler
Hab auch schon als Wert 0 eingegeben und ohne Integer, aber der Fehler ist immer der gleiche! :cry:
|
Re: EnumWindows Fehler
Ich bekomme lediglich die Warnung:
Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var LPARRAM : DWord; begin EnumWindows(@EnumWindowsProc, LPARRAM); end; |
Re: EnumWindows Fehler
Hmmm, seltsam, ich bekomme den Fehler
[Fehler] Unit1.pas(32): Variable erforderlich wenn ich den Code so umstelle wie Du!? :roll: [edit=r_kerber]Doppeltes Posting gelöscht! Mfg, r_kerber[/edit] |
Re: EnumWindows Fehler
Ich habe D7. Mit D5 kann ich's leider nicht testen.
|
Re: EnumWindows Fehler
Das dürfte aber doch keinen Unterschied machen, EnumWindows gibts ja schon länger als gestern und heute, oder?
Aber trotzdem Danke für Deine Hilfe! |
Re: EnumWindows Fehler
Ich habe Delphi 5, und ich bekomme überhaupt keinen Fehler wenn ich den Code aus deinem 1. Posting 1:1 kopiere. Damit dürfte die Verwirrung wohl komplett sein. :stupid:
|
Re: EnumWindows Fehler
Versuch es mal so:
Delphi-Quellcode:
type
PMyEnumParam = ^TMyEnumParam; TMyEnumParam = record lb: TListbox; end; function GetWindows(const hWnd: Longword; Param: PMyEnumParam): LongBool; stdcall; var Len: Longint; S: string; begin Result := True; if not (IsWindow(hWnd) and IsWindowVisible(hWnd)) then Exit; Len := SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0); if Len > 0 then begin SetLength(S, Len); SendMessage(hWnd, WM_GETTEXT, Len + 1, Longint(Pchar(S))); Param.lb.Items.Add(s); end; // mit Result = False kann die Callbackfunktion vorzeitig verlassen werden end; procedure TForm1.Button1Click(Sender: TObject); var Param: TMyEnumParam; begin Param.lb := Listbox1; EnumWindows(@GetWindows, LPARAM(@Param)); end; |
Re: EnumWindows Fehler
Hi Luckie,
hab ich auch schon versucht, immernoch der selbe Fehler! So ein Mist! Habs gerade nen Kollegen testen lassen, der bekommt den selben Fehler! |
Re: EnumWindows Fehler
Zitat:
|
Re: EnumWindows Fehler
Hi Luckie,
ich glaub Dir ja das der Code einwandfrei läuft, bei anderen läuft der von mir kopierte Code ja auch, nur eben nicht bei mir. Und ich versteh einfach nich wieso!? :cry: |
Re: EnumWindows Fehler
Geh mal zwischen die beiden Klammern von EnumWindows und drück mal Strg+Shift+Space.. dann müsste ein Hint-Fenster mit den Parametern der Funktion kommen... was steht dort bei dir drinnen?
|
Re: EnumWindows Fehler
Dort steht
lpEnumFunc : Pointer;lParam : integer |
Re: EnumWindows Fehler
mein Vorschlag war nix, deswegen steht hier nix mehr ;-)
|
Re: EnumWindows Fehler
auch wenn´s schon etwas her ist...
ich habe das selbe problem und keine lösung gefunden :-(
Delphi-Quellcode:
Die Fehlermeldung tritt beim zuweisen es Zeigers auf.
procedure TForm1.Button2Click(Sender: TObject);
var zeiger : Pointer; begin zeiger := @EnumWinProc; EnumWindows(zeiger, 0); end |
Re: EnumWindows Fehler
aaaaaaaaaaaaaaaaaah!!!!!!!!!
man darf´s nicht im bereich der fensterklasse deklarieren. und ich dachte das wären tippfehler...
Delphi-Quellcode:
...
public { Public-Deklarationen } end; var Form1: TForm1; function EnumWinProc(Wnd: THandle; LParam: LongInt): Bool; stdcall; export; implementation {$R *.DFM} ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz