AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Pchar := @Funktion zuweisen

Ein Thema von thepaine91 · begonnen am 15. Jan 2010 · letzter Beitrag vom 15. Jan 2010
Antwort Antwort
thepaine91

Registriert seit: 29. Okt 2009
Ort: Neckarsulm
36 Beiträge
 
Delphi 6 Enterprise
 
#1

Pchar := @Funktion zuweisen

  Alt 15. Jan 2010, 12:13
Hi,

ich versuche atm vergeblich folgendes:

Delphi-Quellcode:
function EnumWindowsProc(wHandle: HWND; apphandle: Cardinal): Bool; stdcall; export;

EnumWindows(@EnumWindowsProc, Application.Handle); // Fehler: Variable erforderlich
Also wenn ich EnumWindowsProc auslagern würde in eine Dll klappt es das weis ich aber ist mir eigetnlich zu umständlich bzw. unpraktisch wegen einer funktion eine Dll zu laden etc...


stehe gerade total auf dem Schlauch und weis einfach nicht weiter kann mir vielleicht jemand Helfen?
>>> Hier könnte eine Signatur stehen <<<
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.564 Beiträge
 
Delphi 12 Athens
 
#2

Re: Pchar := @Funktion zuweisen

  Alt 15. Jan 2010, 12:25
Ehrlich gesagt verstehe ich das Problem nicht . Zeig doch mal etwas mehr Code oder versuch es mitif EnumWindows(@EnumWindowsProc, Application.Handle) then IIRC gab es eine Einstellung, dass Funktionsrückgabewerte Variablen zugewiesen werden müssen, hab aber vergessen, wie die hieß.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
thepaine91

Registriert seit: 29. Okt 2009
Ort: Neckarsulm
36 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Pchar := @Funktion zuweisen

  Alt 15. Jan 2010, 12:48
Delphi-Quellcode:
function EnumWindowsProc(wHandle: HWND; apphandle: Cardinal): Bool; stdcall; export;

procedure TForm1.Button4Click(Sender: TObject);
begin
  RichEdit1.Clear;
  EnumWindows( {@EnumWindowsProc}, Application.Handle); // keine Variable
end;

function TForm1.EnumWindowsProc(wHandle: HWND; apphandle: Cardinal): Bool;
begin
  Result := True;
  PostMessage(apphandle, WM_USER+33, wHandle, 0);
end;
Und EnumWindows erwartet als 1. Parameter: (WNDENUMPROC lpEnumFunc, // pointer to callback function).
Nur bekomm ich es nicht hin den Pointer zu übergeben mehr nicht. Wie gesagt steh dies bezüglich auf der Leitung.
>>> Hier könnte eine Signatur stehen <<<
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.183 Beiträge
 
Delphi 12 Athens
 
#4

Re: Pchar := @Funktion zuweisen

  Alt 15. Jan 2010, 13:06
EnumWindowsProc darf keine Objektmethode sein, sonst passt die Signatur nicht. Du kannst die Funktion genau wie in der DLL deklarieren und nur das "export;" weglassen.
Uwe Raabe
  Mit Zitat antworten Zitat
thepaine91

Registriert seit: 29. Okt 2009
Ort: Neckarsulm
36 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Pchar := @Funktion zuweisen

  Alt 15. Jan 2010, 14:38
Genau hab die Funktions deklaration angepasst und funktioniert. Danke für die Hilfe. Stand einfach auf der Leitung.
>>> Hier könnte eine Signatur stehen <<<
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:49 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