AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Dynamisch erzeugt - Aber Speicherverbrauch bleibt nach Ende
Thema durchsuchen
Ansicht
Themen-Optionen

Dynamisch erzeugt - Aber Speicherverbrauch bleibt nach Ende

Ein Thema von Stanlay Hanks · begonnen am 9. Okt 2003 · letzter Beitrag vom 9. Okt 2003
 
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#1

Dynamisch erzeugt - Aber Speicherverbrauch bleibt nach Ende

  Alt 9. Okt 2003, 15:38
Hallo zusammen

Sorry für den Titel...Ist vielleicht etwas undeutlich formuliert.
Ich hab da ein Problem. Ich hab zwar schon die DP durchsucht und die OH bemüht, aber leider nix passendes gefunden. Also Da mir der Standard MessageDlg nicht gefällt, wollte ich mir selber einen machen. Ich wollte das so machen, dass ich dann in ein anderes Programm einfach die Unit einbinde und dann über eine Funktion einen Rückgabewert erhalte. Soweit so gut. Ich erstelle also ein dynamisches Form und zwei dynamische Buttons, denen ich jeweils eine andere Prozedure zuweise (Hab dazu was im Forum gefunden). Nun ja, das funzt auch alles ganz prächtig, nur wird irgendwie anscheinend der Speicher nicht ganz freigegeben. Soll heißen, ich rufe die Funktion aus einem anderen Formular auf => es erscheint der Dialog mit dem dyn. erzeugten Form => ich klicke auf "Ja" oder "Nein" und dann schließt sich das Fenster auch und gibt den Korrekten Wert zurück. Aber im Taskmanager bleibt auch nach dem Schließen des Dialogs der Speicherverbrauch der Anwendung gleich Also ich meine, zuerst hat die Anwendung zu, Beispiel 2.800 K und ab dem Aufruf des Dialogs dann 2.844. Beim nächsten Aufruf des Dialogs wird es entsprechend mehr. Kann mir da wer weiterhelfen? Mein Code is der folgende. Hab ich vielleicht irgendwas falsch freigegeben?

Danke schon mal. Man liest sich, Stanlay

Delphi-Quellcode:
procedure SetNo(Sender: TObject);
procedure SetYes(Sender: TObject);
function JesOrNo: Boolean;
procedure QuestionForm;


implementation

var Form : TForm;
    BtnYes : TButton;
    BtnNo : TButton;
    Bool : Boolean;

procedure QuestionForm;
begin
  Form := TForm.Create(nil);
  With Form do
    begin
    Caption := 'Möchten Sie den Button sichtbar lassen?';
    Width := 500;
    Height := 250;
    Left := Screen.WorkAreaWidth div 2 - Width div 2;
    Top := Screen.WorkAreaHeight div 2 - Height div 2;
    end;

  BtnYes := TButton.Create(Form);
  With BtnYes do
    begin
    Parent := Form;
    Width := 50;
    Height := 25;
    Left := Form.Width div 2 - Width div 2 - Width;
    Top := Form.Height div 2 - Height div 2 - Height;
    Caption := 'Ja';
    @OnClick := @SetYes;
    end;

  BtnNo := TButton.Create(Form);
  With BtnNo do
    begin
    Parent := Form;
    Width := 50;
    Height := 25;
    Left := Form.Width div 2 - Width div 2 + Width;
    Top := Form.Height div 2 - Height div 2 - Height;
    Caption := 'Nein';
    @OnClick := @SetNo;
    end;


  Form.ShowModal;
end;


procedure SetNo(Sender: TObject);
begin
  Bool := false;
  Form.Close;
end;

procedure SetYes(Sender: TObject);
begin
  Bool := true;
  Form.Close;
end;

function JesOrNo: Boolean;
begin
  QuestionForm;
  JesOrNo := Bool;
  BtnYes.Destroy;
  BtnNo.Destroy;
  Form.Destroy;
end;
  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 16:21 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 by Thomas Breitkreuz