AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Auswertung Lokale Variablen unvollständig
Thema durchsuchen
Ansicht
Themen-Optionen

Auswertung Lokale Variablen unvollständig

Ein Thema von Benmik · begonnen am 19. Apr 2022 · letzter Beitrag vom 19. Apr 2022
Antwort Antwort
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
497 Beiträge
 
Delphi 12 Athens
 
#1

AW: Auswertung Lokale Variablen unvollständig

  Alt 19. Apr 2022, 15:16
In diesem Beispiel klappt es sowohl in der lokalen Prozedur ShowValues als auch in der anonymen im TTast.Run mit D11.1 wenn man mit der Maus rüber geht oder diese im den überwachten Ausdrücken hinzufügt.
Delphi-Quellcode:
procedure TForm1.bt1Click(Sender: TObject);
var
  S1, S2: string;
  B: Byte;
  I: Integer;
  procedure ShowValues;
  var
    S: string;
  begin
    S := S1 + #32 + S2 + #32 + B.ToString + #32 + I.ToString;
    OutputDebugString(PChar(S));
  end;
begin
  S1 := 'S1';
  S2 := 'S2';
  B := 255;
  I := B *100;
  ShowValues;
  TTask.Run( procedure
  var
    S: string;
  begin
    S := S1 + #32 + S2 + #32 + B.ToString + #32 + I.ToString;
    OutputDebugString(PChar(S));
  end);
Aber mit 10.4.2 sind S1 usw. nur im TTask.Run sichtbar.

Geändert von BerndS (19. Apr 2022 um 15:23 Uhr) Grund: 10.4.2 ergänzt
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
570 Beiträge
 
Delphi 12 Athens
 
#2

AW: Auswertung Lokale Variablen unvollständig

  Alt 19. Apr 2022, 15:49
Ich habe mal rasch diese Prozedur rausgehauen:
Delphi-Quellcode:
procedure TForm3.Test;
var FS:TFileStream;
    Datname:string;
    Dateigröße:Cardinal;
//-------------------------------------------------------------------------------------
  function LeseDateiInStream:Boolean;
  begin
    FS := TFileStream.Create(Datname,fmOpenRead or fmShareDenyWrite);
    Dateigröße := FS.Size;
    Result := (Dateigröße > 0);
  end;
//-------------------------------------------------------------------------------------
begin
  Datname := 'C:\Temp\Test.txt';
  If not LeseDateiInStream
    then exit;
end;
... aber was passiert? Die Variablen werden in der Unterprozedur ausgewertet. Heute ist wohl nicht mein Frage-Tag. Ich hatte gestern eine Prozedur, wo es nicht klappte, wenn ich wieder auf die stoße, dann melde ich mich wieder.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.201 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Auswertung Lokale Variablen unvollständig

  Alt 19. Apr 2022, 17:08
In diesem Beispiel klappt es sowohl in der lokalen Prozedur ShowValues als auch in der anonymen im TTast.Run mit D11.1 wenn man mit der Maus rüber geht oder diese im den überwachten Ausdrücken hinzufügt.
Das ist ja toll, das wäre ein weiterer Grund für mich endlich mal upzudaten 😎
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Auswertung Lokale Variablen unvollständig

  Alt 19. Apr 2022, 19:14
Hallo,
ist die Optimierung aus?
Heiko
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
570 Beiträge
 
Delphi 12 Athens
 
#5

AW: Auswertung Lokale Variablen unvollständig

  Alt 19. Apr 2022, 19:32
...ist die Optimierung aus?
Verflucht, mache ich sonst auch immer, diesmal vergessen. Wird beim nächsten Auftreten probiert!
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Auswertung Lokale Variablen unvollständig

  Alt 19. Apr 2022, 21:03
Hallo,
teste das doch mit Deinem Testpogramm.
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:09 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