AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Records Strings und Speicherprobleme?
Thema durchsuchen
Ansicht
Themen-Optionen

Records Strings und Speicherprobleme?

Ein Thema von static_cast · begonnen am 28. Okt 2005 · letzter Beitrag vom 28. Okt 2005
Antwort Antwort
static_cast

Registriert seit: 19. Okt 2003
Ort: Peine
300 Beiträge
 
#1

Records Strings und Speicherprobleme?

  Alt 28. Okt 2005, 11:30
Hoi,

ich habe gerade erfahren das Stings in einem Record Probleme mit dem Speicher (beim freigeben) haben?

Delphi-Quellcode:
TTestRec = record
  Foo:String;
  Bar:String;
end;
man sollte das eher so lösen:

Delphi-Quellcode:
TTestRec = record
  Foo:String[100];
  Bar:String[100];
end;
oder so:

Delphi-Quellcode:
TTestRec = record
  Foo:PChar;
  Bar:PChar;
end;
Stimmt es, das bei der oben genannten Methode Speicherlecks entstehen? Ich habe davon noch nie gehört, oder bezieht sich das nur auf die Dynamische erstellung (mit New und Dispose) dieser Records?

MfG
Daniel
Daniel M.
"The WM_NULL message performs no operation. An application sends the WM_NULL message if it wants to post a message that the recipient window will ignore."
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Records Strings und Speicherprobleme?

  Alt 28. Okt 2005, 11:47
Soweit ich weiss, bekommst du mit der ersten und letzten Version nur dann Probleme, wenn Du den Speicher des Records anfässt, z.B. um ihn per WriteBuffer/Readbuffer in einen Stream zu schreiben/zu lesen.

Ansonsten dürfte das ziemlich Schnurz sein.

Bei allen Fragen bezüglich Speicherlecks etc. empfehle Ich Dir die unit FastMM (bei www.sourceforge.net).
Die ersetzt den Borland Memorymanager und zeigt Dir alle Speicherlecks an. Mit einem Compilerschalter siehst Du dann sogar die Zeile, wo das passiert. Die Unit ist so gut, das sie Borland übernommen hat.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
static_cast

Registriert seit: 19. Okt 2003
Ort: Peine
300 Beiträge
 
#3

Re: Records Strings und Speicherprobleme?

  Alt 28. Okt 2005, 12:01
Also hat Delphi keine Probleme damit ein Record freizugeben in denen Strings verwendet wurden? Oder sonstige Macken mit Strings in Records? (Mir persönlich sind noch keine aufgefallen, aber wie erwähnt wurde es mir gesagt, und deswegen wollte ich das mal genauer wissen)

Danke für die Info's.
Daniel M.
"The WM_NULL message performs no operation. An application sends the WM_NULL message if it wants to post a message that the recipient window will ignore."
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: Records Strings und Speicherprobleme?

  Alt 28. Okt 2005, 12:18
Hallo,

bei der Benutzung von langen Strings in dynamischen Strukturen sollte man vor dem Freigeben der Strukturen mittels Delphi-Referenz durchsuchenFinalize den von den Strings belegten Speicherplatz freigeben. Ob das bei statischen Records auch nötig ist weiß ich nicht, aber schaden kann's ja nicht.

Gruß
xaromz
  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 18:35 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