Entwickler-Ecke
Sonstiges (Delphi) - Probleme mit Delphi 6 Prof.
Tossi - Fr 03.01.03 23:15
Titel: Probleme mit Delphi 6 Prof.
Hallo Leute,
ich glaube ich krieg Plugg. Vor ein paar Minuten konnte ich noch in Delphi super arbeiten und nun spinnt es. Ich möchte nicht außergewöhnliches machen, nur die Länge eines Strings haben. Aber Delphi weigert sich diese in einen Integer zu speichern. Im Editor mit Alt+F5 bekomme ich nur "Inaccessible Value". Die Variable ist richtig implementiert. Hier die Stelle:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button1Click(Sender: TObject); var p : integer; s,t : AnsiString; begin s := 'Hallo'; p := Length(s); t := IntToStr(Length(s)); Label1.Caption := IntToStr(Length(s)); end; |
In t steht dann der richtige Wert, aber gecastet. p kann ich nicht auswerten, hat aber einen blauen Punkt an der Seite.
Weiß jemand einen Rat?????
Den Rechner habe ich schon neu gestartet, ohne Änderung!
Mfg
Tossi
(05.01. 00:08 Tino) Code-Tags hinzugefügt.
bis11 - Sa 04.01.03 00:18
Hi Tossi,
es gibt zwei möglichkeiten für Deine Procedure um Dir die Länge anzeigen zu lassen :
1.Möglichkeit :
Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); var s : AnsiString; begin s := 'Hallo'; Label1.Caption := IntToStr(Length(s)); end; |
2.Möglichkeit :
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Button1Click(Sender: TObject); var p : integer; s : AnsiString; begin s := 'Hallo'; p := Length(s); Label1.Caption := IntToStr(p); end; |
Code ist nicht getestet.
Tossi - Sa 04.01.03 01:32
Hey,
danke für Deine schnelle Antwort. Ich werde es gleich testen. Aber warum wird bein Debuggen der Inhalt der Variable p nicht angezeigt???
Im cBuilder geht das einwandfrei.
thx
Tossi
Brueggendiek - Sa 04.01.03 02:18
Hallo Tossi!
Der Debugger kann wahrscheinlich "wegen Optimierung" die Variable nicht anzeigen. Solange Dein Programm nicht fertig ist, solltest Du bei "Projekt", "Optionen", "Compiler" den Haken bei Optimierung rausnehmen, dann klappts auch mit dem Debugger!
Wenn das Programm fertig ist, den Haken wieder setzen und mit "Projekt", "Erzeugen" alles neu compilieren.
Delphi hält die Variablen bei Optimierung möglichst in Registern und löscht sie, wenn sie nicht mehr gebraucht werden - d.h. nach dem letzten Zugriff im Geltungsbereich.
Gruß
Dietmar Brüggendiek
Delete - Sa 04.01.03 04:58
Du weißt der Variable p zwar eine Wert zu, aber du benutzt ihn nicht weiter. Und Delphi ist so clever und optimiert die überflüssige Zeile weg.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!