AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EnumWindows Fehler

Ein Thema von yoppu · begonnen am 11. Dez 2003 · letzter Beitrag vom 9. Mai 2005
Antwort Antwort
Seite 1 von 2  1 2      
yoppu

Registriert seit: 18. Aug 2003
18 Beiträge
 
#1

EnumWindows Fehler

  Alt 11. Dez 2003, 07:24
Delphi-Quellcode:
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;
Wenn ich diese Zeilen aufrufe, bekomme ich immeran der gesternten Stelle die Meldung, Variable erforderlich, was will mir Delphi 5 damit sagen???
Danke!

[edit=r_kerber]Delphi-Tags gesetzt! Mfg, r_kerber[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#2

Re: EnumWindows Fehler

  Alt 11. Dez 2003, 07:39
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.
  Mit Zitat antworten Zitat
yoppu

Registriert seit: 18. Aug 2003
18 Beiträge
 
#3

Re: EnumWindows Fehler

  Alt 11. Dez 2003, 07:41
Hab auch schon als Wert 0 eingegeben und ohne Integer, aber der Fehler ist immer der gleiche!
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#4

Re: EnumWindows Fehler

  Alt 11. Dez 2003, 07:45
Ich bekomme lediglich die Warnung:
Zitat:
[Warnung] Unit1.pas(48 ) : Variable 'LPARRAM' ist möglicherweise nicht initialisiert worden
Mein Code sieht so aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  LPARRAM : DWord;
begin
  EnumWindows(@EnumWindowsProc, LPARRAM);
end;
  Mit Zitat antworten Zitat
yoppu

Registriert seit: 18. Aug 2003
18 Beiträge
 
#5

Re: EnumWindows Fehler

  Alt 11. Dez 2003, 07:50
Hmmm, seltsam, ich bekomme den Fehler

[Fehler] Unit1.pas(32): Variable erforderlich

wenn ich den Code so umstelle wie Du!?

[edit=r_kerber]Doppeltes Posting gelöscht! Mfg, r_kerber[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#6

Re: EnumWindows Fehler

  Alt 11. Dez 2003, 08:02
Ich habe D7. Mit D5 kann ich's leider nicht testen.
  Mit Zitat antworten Zitat
yoppu

Registriert seit: 18. Aug 2003
18 Beiträge
 
#7

Re: EnumWindows Fehler

  Alt 11. Dez 2003, 08:09
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!
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#8

Re: EnumWindows Fehler

  Alt 11. Dez 2003, 08:30
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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: EnumWindows Fehler

  Alt 11. Dez 2003, 08:33
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;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
yoppu

Registriert seit: 18. Aug 2003
18 Beiträge
 
#10

Re: EnumWindows Fehler

  Alt 11. Dez 2003, 08:34
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!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz