![]() |
TMemo nicht in OnClose verfügbar?
Hallo DP'ler,
Ich arbeite gerade an einem Programm das alle Ereignisse loggt. Soweit so gut:
Delphi-Quellcode:
Wenn es Jemand nun schließt (aufs X klickt),wird es nicht gespeichert ->
memo_log.Lines.Add('blah');
Delphi-Quellcode:
Dies ist der Punkt : Er sagt "memo_log ist nicht definiert". Wenn ich jetzt aber "procedure BTN.Click()" mache, kann ich darauf zugreifen.
memo_log.Lines.SaveToFile('logfile.log')
Memo_log ist in
Delphi-Quellcode:
definiert, aber scheint nicht in OnCreate oder OnClose verfügbar.
"type memo_log: TMemo;"
Was kann ich tun? |
Re: TMemo nicht in OnClose verfügbar?
"type memo_log: TMemo;" ist ein ungültiger Ausdruck :gruebel:
|
Re: TMemo nicht in OnClose verfügbar?
ja, habs nur aus dem Hirn abgeschrieben. In echt ist es so :
Delphi-Quellcode:
type
TForm1 = class(TForm) ApStatus: TLabel; [...] Mehr definitionen shutdown: TButton; Log_memo: TMemo; private { Private-Deklarationen } public { Public-Deklarationen } end; |
Re: TMemo nicht in OnClose verfügbar?
Im OnClose dürfte noch alles zur Verfügung stehen. Hmm?
|
Re: TMemo nicht in OnClose verfügbar?
Delphi-Quellcode:
Das ist mein Code, aber er sagt log_memo undefiniert, lines undef. und savetofile..
procedure Form1.OnClose();
begin Log_memo.Lines.SaveToFile('log.log'); end; liegt das vllt daran dass die Form schon weg ist? |
Re: TMemo nicht in OnClose verfügbar?
Versuch doch mal OnCloseQuery()
|
Re: TMemo nicht in OnClose verfügbar?
es sollte aber auch so funktionieren, hast du den code jetzt selbst geschrieben oder aus deinem Formular kopiert?
|
Re: TMemo nicht in OnClose verfügbar?
Wieso hat denn OnClose keinen Parameter?
|
Re: TMemo nicht in OnClose verfügbar?
Außerdem heißt das AFAIR FormClose.
|
Re: TMemo nicht in OnClose verfügbar?
Zitat:
|
Re: TMemo nicht in OnClose verfügbar?
Delphi-Quellcode:
procedure OnCloseQuery();
begin Log_memo.Lines.SaveToFile('log.log'); end;
Code:
Nichtdeklarierter Bezeichner Log_memo in zeile 46 (46:1)
Nichtdeklarierter Bezeichner Lines in zeile 46 (46:10) Nichtdeklarierter Bezeichner Add in zeile 46 (46:16) Edit : hab erst jetzt eure Antworten gesehen : FormClose ist doch die Aufforderun zu schließen (wie in andere Sprachen Form1.Exit()) FormOnClose soll noch vorher was abfangen.,.. TForm1 teste ich danke. Und inwiefern Parameter? gibt es da welche? *such* melde mich mit einem edit² edit2: ok es ist FormClose in einem Help Beitrag von msdn gestanden, dachte es sei anders. d.h.
Delphi-Quellcode:
Wurde bis auf die Log_memo.. direkt übernommen, allerdings stand das für Pascal und nicht für Delphi.
procedure TForm1.CloseForm(Sender: TObject; var Action: TCloseAction);
begin Log_memo.Lines.SaveToFile('log.log'); Action := caFree end; So nun sagt er dass es Closeform oder Formclose (egal) nicht gibt, ich kann zwar Close verwenden dann sind wir aber beim oberen Problem |
Re: TMemo nicht in OnClose verfügbar?
Zitat:
Delphi-Quellcode:
So siehts bei mir aus :-)
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
|
Re: TMemo nicht in OnClose verfügbar?
Achso^^ ich hatte das ja am Anfang mit OnClose und das ist ja ein Event und keine Methode in dem Sinne.
es ist zum haareraufen... warum nimmt er es nur nicht, Kann das nicht sein das die Variablen erst später definiert werden? oder irgendwie dass OnClose und so nichts mit der Applikation an sich zu tun haben sonder eigene variabeln haben? |
Re: TMemo nicht in OnClose verfügbar?
Mal den Debugger genommen um zu sehen wo er hingeht?
|
Re: TMemo nicht in OnClose verfügbar?
bekomme ja vorher einen Syntax Error.
Habe es versucht in globals reinzuladen oder so. irgenwie muss ich das anders definieren :gruebel: |
Re: TMemo nicht in OnClose verfügbar?
Ich glaube dir fehlt folgende Vorgehensweise:
Gehe mal auf die Form, dann auf den Objektinspector und dort die Registerkarte Ereignisse. Dann machst du einen Doppelklick auf OnClose und dort, wo jetzt der Cursor steht schreibst du deine Zeile hinein. |
Re: TMemo nicht in OnClose verfügbar?
Danke sirius..
Es gibt Tage da sollte man nicht aus dem Bett... Ich hatte es Manuell eingetippt ^^ und dabei vergessen sie procedure und so zu definieren =) 1000 thnx :dp: |
Re: TMemo nicht in OnClose verfügbar?
Syntax Error weil der Header nicht korrekt ist?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:50 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