Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Problem mit record (https://www.delphipraxis.net/93646-problem-mit-record.html)

The_ New_Guy 11. Jun 2007 18:41

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;

Apollonius 11. Jun 2007 19:49

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 16:09 Uhr.
Seite 2 von 2     12   

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