[Gelöst] 2x OnEditingDone; wie ggs. ausschließen?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
lichtwicht
Beiträge: 10
Registriert: Di 16. Sep 2008, 20:17
OS, Lazarus, FPC: WinXPSP2-32bit (06-2009: SVN: L 0.9.27 FPC 2.2.4)
CPU-Target: AMD 64Bit (single)

[Gelöst] 2x OnEditingDone; wie ggs. ausschließen?

Beitrag von lichtwicht »

Hi,

wieder mal ich mit einer Fräge...
Ich bin etwas am Verzweifeln...ich habe (bisher, es werden eher mehr werden...) 4 TEdits und würde gern alle, bei ändern des Benutzers von einem TEdit, aktualisieren...
Hab' ich mir, als einfach gestrickter Mensch, gedacht...Nimm doch "OnEditingDone", welches das TEdit gleich mitliefert...

Ich habe "nur" das Problem, daß sich scheinbar die Routinen gegenseitig "beeinflussen"...
Also es sind 3 TEdits mit jeweils einem Wert, die funktionieren auch alle prächtig...
Und ein weiterer bei dem ich gern alle 3 Werte auf einmal setzen können möchte, und DAS krieg ich nicht hin!
Der erste Wert wird noch übernommen (, insgesamt ist das ein String aus dem ich drei Single's heraushole,) aber wenn ich den zweiten oder dritten Wert dort ändere, wird das völlig ignoriert.

Die TEdits zu deaktivieren(Enabled:=false) hat nichts gebracht, auch ein "ÜberwachungsBool"(if alreadyEditing=true then exit;) hat mich nicht weiter gebracht.
Kann man diesen OnEditingDone-Event temporär deaktiviern?
Oder wie könnte ich es sonst machen? (wahrscheinlich gehe ich die Sache schon von vorneherein her falsch an...)

Danke schonmal im Vorraus, gruß lichtwicht

EDIT:[Gelöst] gesetzt
Zuletzt geändert von lichtwicht am Sa 11. Jul 2009, 16:46, insgesamt 1-mal geändert.
A programmer is just a tool which converts coffein into code!

Activating back-to-desktop service...

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: 2x OnEditingDone; wie ggs. ausschließen?

Beitrag von mschnell »

lichtwicht hat geschrieben:Kann man diesen OnEditingDone-Event temporär deaktiviern?

deaktivieren:
OnEditingDoneTemp:=OnEditingDone
OnEditingDone:=NIL;

reaktivieren:
OnEditingDone:=OnEditingDoneTemp;

-Michael

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: 2x OnEditingDone; wie ggs. ausschließen?

Beitrag von Scotty »

Viel helfen wird das Deaktivieren aber nicht. Du rufst sicher die OnEditingDone Prozedur im Programm auf. Aber dort kannst du auch einen Parameter (Sender) setzen, den du im Handler des Steuerelements auswertest. OnEditing1Done() begin if Sender<>nil then...OnEditing2Done(nil) end; Wenn der Handler vom Programm/Benutzer aufgerufen wird, ist Sender Edit1, wenn du das intern machst setzt du Sender auf nil.

lichtwicht
Beiträge: 10
Registriert: Di 16. Sep 2008, 20:17
OS, Lazarus, FPC: WinXPSP2-32bit (06-2009: SVN: L 0.9.27 FPC 2.2.4)
CPU-Target: AMD 64Bit (single)

Re: 2x OnEditingDone; wie ggs. ausschließen?

Beitrag von lichtwicht »

auf die Idee mit dem :=NIL hätte ich auch kommen können, Danke!
und das mit dem Sender baue ich tendenziell gleich ein!

leider muß ich gestehen, daß mein Problem aus einer falsch programmierten Schleife an anderer Stelle herrührte (*schäm*)!

vielen Dank! gruß lichtwicht
A programmer is just a tool which converts coffein into code!

Activating back-to-desktop service...

Antworten