AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Erfolgsmeldung bei EnumChildWindows

Erfolgsmeldung bei EnumChildWindows

Ein Thema von Cuchulainn · begonnen am 19. Mär 2004 · letzter Beitrag vom 20. Mär 2004
 
Cuchulainn

Registriert seit: 26. Aug 2003
182 Beiträge
 
Delphi 5 Enterprise
 
#1

Erfolgsmeldung bei EnumChildWindows

  Alt 19. Mär 2004, 13:02
Kaum ist das eine Problem gelöst, kommt auch schon das nächste.
Ich benutze die Funktion EnumChildWindows. Dank DP habe ich auch relativ schnell gelernt, damit und mit der Callbackfunktion umzugehen.
Aber leider habe ich immer noch ein Problem damit. Folgende Situation:
Ich rufe in einer Funktion die Funktion EnumChildWindows auf. In der Callbackfunktion tue ich etwas, und zwar suche ich nach einem bestimmten Editfeld und trage dort etwas ein. Wenn das funktioniert hat, möchte ich gerne eine Erfolgsmeldung an die aufrufende Funktion zurückgeben. Dazu habe ich mir eine Boolean-Variable deklariert, die true annehmen soll, wenn es funktioniert hat. Das klingt in der Theorie ganz gut, dachte ich mir und probierte es aus.
Das Ergebnis war ernüchternd. Ich wurde zugeworfen mit Zugriffsverletzungen. Zuerst baute ich die Callbackfunktion als Unterfunktion in die aufrufende Funktion ein. Am Anfang der aufrufenden Funktion deklarierte ich meine Boolean-Variable. Etwa so:

Delphi-Quellcode:
procedure PPasswort;
var BoolOk: Boolean;
  function FEnumChilds(hWindow: HWND; lParameter: lparam): boolean; stdcall;
  begin
    // Hier passiert etwas. Bei Erfolg folgende Anweisung:
    BoolOk := true; // Hier krachte es: Zugriffsverletzung
  end;

begin
  if BoolOk = true then
    // Hier passiert noch mehr
end;
Daraus schloss ich, dass die Callbackfunktion nicht auf die Variablen der aufrufenden Prozedur zugreifen kann. Also schlug ich einen anderen Weg ein: Ich nahm die Callbackfunktion aus der Prozedur PPasswort heraus und deklarierte BoolOk als globale Variable. Das Ergebnis war eigentlich kein anderes. Wieder bekam ich eine Zugriffsverletzung.

Jetzt meine Frage: Kann ich von dieser Callbackfunktion aus auf keine Variablen zugreifen, die außerhalb (global) deklariert worden sind? Welche anderen Lösungen gäbe es für mein Problem noch?
  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 18:23 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