AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TObject und extended

Ein Thema von friedemann2009 · begonnen am 18. Mai 2010 · letzter Beitrag vom 18. Mai 2010
 
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#7

Re: TObject und extended

  Alt 18. Mai 2010, 10:10
Naja ich selber würde das nicht in einen String unwandeln, wenn du schon die Quellzahl vorliegen hast.

Wenn du dich nicht an die Pointer traust, nehm die Klasse, aber die erzeugt einiges an Overhead. Ansonsten machst du das mit Pointern, wie ich das Vorgeschlagen habe. Dann nehme dir zwei/drei Methoden:
Delphi-Quellcode:
procedure SetExtended(AList : TStrings; AIndex : Integer; AExtended : Extended);
var
  p : PExtended;
begin
  p := PExtended(AList.Objects[AIndex]);
  if p = nil then
  begin
    New(p);
    AList.Objects[AIndex] := TObject(p);
  end;
  p^ := AExtended;
end;

function GetExtended(AList : TStrings; AIndex : Integer) : Extended;
var
  p : PExtended;
begin
  p := PExtended(AList.Objects[AIndex]);
  if p = nil then
  begin
    raise Exception.CreateFmt('Index ' + IntToStr(AIndex) + ' is not set!');
  end;
  Result := p^;
end;

procedure ClearList(AList : TStrings);
var
  i : Integer;
  p : PExtended;
begin
  for i := 0 to AList.Length - 1 do
  begin
    p := PExtended(AList.Objects[i]);
    if p <> nil then
    begin
      Dispose(p);
      AList.Objects[i] := nil;
    end;
  end;
end;
Wichtig ist nur, dass du beim zerstören der StringList die Methode ClearList aufrufst, damit da keine Speicherlecks entstehen.

MfG
Fabian
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
 


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 11:28 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