AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Seltsames Verhalten von Delphi (String wird "freigegeben")
Thema durchsuchen
Ansicht
Themen-Optionen

Seltsames Verhalten von Delphi (String wird "freigegeben")

Ein Thema von mirage228 · begonnen am 26. Okt 2004 · letzter Beitrag vom 26. Okt 2004
Antwort Antwort
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#1

Seltsames Verhalten von Delphi (String wird "freigegebe

  Alt 26. Okt 2004, 17:54
Hi,

ich habe heute ein mehr oder weniger großes Problem.

Ich habe eine Funktion, die einen Parameter "const FileName: String" hat. Der String ist nun eigentlich unveränderlich. (Die Funktion öffnet die Datei "FileName" in einem SynEdit)

Nach einer Zuweisung an einen Setter einer Klasse ist der String scheinbar "freigegeben", da das Ende abgeschnitten ist und danach Wirre Zeichen folgen.

Ich habe mit meiner Trial von Techsmith Camtasia mal ein Video dazu angefertigt.
www.mirage228.net/private/string_fehler.avi

Wie man sieht, verändert sich der String eindeutig nach der Zuweisung an "FDocuments[CreatePos].FileName".
Das Problem ist erst aufgetaucht, als ich diesen Code Abschnitt hinzugefügt habe:
Delphi-Quellcode:
    TmpItem := ProjectGroup.FindFile(FileName);
    if (Assigned(TmpItem)) then
    begin
      FreeAndNil(FDocuments[CreatePos].FProjectItem);
      FDocuments[CreatePos].FProjectItem := TmpItem;
    end;
Eigentlich passiert da nichts "schlimmes".

Die Verwendung von "const FileName: WideString" hilft zwar dagegen, da WideStrings keiner Referenzzählung unterliegen, aber es muss doch auch mit "normalen" Strings funktionieren ?!

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#2

Re: Seltsames Verhalten von Delphi (String wird "freige

  Alt 26. Okt 2004, 18:37
ich würde mal vermuten, Du schreibst im Speicher rum mit Deiner Zuweisung und erwischst dabei den Stack.

Nur so ein Gefühl......

Roderich
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Seltsames Verhalten von Delphi (String wird "freige

  Alt 26. Okt 2004, 18:49
Zitat von roderich:
ich würde mal vermuten, Du schreibst im Speicher rum mit Deiner Zuweisung und erwischst dabei den Stack.

Nur so ein Gefühl......

Roderich
Hm... das könnte auch sein, aber ich frage mich, wie das passieren könnte? Soweit ich weiss ist in meinen Routinen kein "gefährlicher" Code drin... aber weiss, vielleicht steckt der Wurm auch wo anders

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  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 19:32 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