Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variable behält keinen Wert (https://www.delphipraxis.net/22082-variable-behaelt-keinen-wert.html)

Luciano 12. Mai 2004 09:24


Variable behält keinen Wert
 
Hi...

kleines Problem mit folgendem Quelltext
Delphi-Quellcode:

procedure TFakt.PageControl1Change(Sender: TObject);
var
api1 : string;
begin

  if PageControl1.ActivePageIndex = 0 then
    begin
      // Hier sind SQL-Anfrage und und und...
      // Es wird nicht aus der Prozedur gesprungen!
     
      if api1 = '1' then
        begin
          //mach was
        end;
 
      api1 := '0';
    end;


  if PageControl1.ActivePageIndex = 1 then
    begin
      // Hier sind SQL-Anfrage und und und...
      // Es wird nicht aus der Prozedur gesprungen!
     
      api1 := '1';  
    end;
end;
Wenn z.B. ActivePageIndex = 0 dann sollte api1 = 0 sein und beim nächsten durchlauf, wenn ActivePageIndex = 1 ist dann api1 = 1 noch ein durchlauf, dann sollte die if Anweisung bei ActivePageIndex = 0 ausgeführt werden weil api1 noch = 1 ist. Nur bei jedem Aufruf der Prozedur ist der Wert in api1 leer. Warum :gruebel:

Wenn ich api1 als integer declariere dann überspringt mir Delphi beim debuggen die Zeile komplett und sie wird nicht ausgeführt sondern zur nächsten Zeile gesprungen :gruebel:

Ich verstehe das nicht! :wiejetzt:

Vielleicht hat von euch einer eine Erklärung. Danke schon mal im vorraus

Greets

Luciano

Jens Schumann 12. Mai 2004 09:27

Re: Variable behält keinen Wert
 
Hallo,
da es sich bei api1 um eine lokale Varible handelt kann es nicht funktionieren.
Du muss aus api1 ein Objektfeld machen.

neolithos 12. Mai 2004 09:28

Re: Variable behält keinen Wert
 
apil wurde doch lokal Definiert und behält somit seine Gültigkeit und Wert nur innerhalb dieser Procedure und während eines durchlaufes.

Kurz:

Bei Begin wird apil angelegt.
Bei End; wird apil freigegeben.

Luciano 12. Mai 2004 09:31

Re: Variable behält keinen Wert
 
Danke euch beiden!

:oops: Mehr kann ich dazu nicht sagen, vielleicht sollte ich doch mal ein wenig überlegen bevor ich hier etwas poste!

Greets

Luciano


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 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