![]() |
Re: Problem mit record
jaa. ich habs geschafft. danke analle!!! :cheers:
so sollte es sein. Allerdings ist mir erst am heutigen(!) tage aufgefallen, das man objekte nicht wie variablen zuweisen kann, sondern immr nur mit assign. was passiert eigentlich mit meinen variablen wenn ich z.B. das hier mache: // ACHTUNG!! absichtlich falscher code!! font1 := font2; Was passiert hierbei, wird da der Font1 Zeiger einfach überschrieben von font2?? (bedeutet das, Font1 wird dann immer noch font1 heissen allerdings mit den eigenschaften von font2 + die alte font1-ram-speicherstelle bleibt verbaut und unaufrufbar)???
Delphi-Quellcode:
procedure Temaske_excel.Schriftartbearbeiten1Click(Sender: TObject);
begin // objekt kreiren falls nicht existent. if ca1[stringgrid1.Col,stringgrid1.Row] = nil then ca1[stringgrid1.Col,stringgrid1.Row] := Tcell_attributes.Create; if assigned(ca1[stringgrid1.Col,stringgrid1.Row].font) then begin fontdialog1.Font.Assign(ca1[stringgrid1.Col,stringgrid1.Row].font); end else begin ca1[stringgrid1.Col,stringgrid1.Row].Font := Tfont.Create; fontdialog1.Font.Assign(stdfont); end; if fontdialog1.Execute then begin ca1[stringgrid1.Col,stringgrid1.Row].font.Assign(fontdialog1.Font); fontdialog1.Font.Assign(stdfont); end; end; |
Re: Problem mit record
Es gibt ein Speicherleck. Denn die ursprünglichen Daten von font1 liegen ja noch irgendwo rum, aber du hast den Hinweis auf die Stelle überschrieben und somit weiß niemand wo.
Wenn du jetzt an eine Eigenschaft von Font1 etwas zuweist, ändert sich auch der enstprechende Wert bei font2. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:32 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