Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: ValueListEditor - eintrag einfügen, ohne "änder&

  Alt 3. Jan 2007, 20:02
Zitat von Der_Unwissende:
Zitat von xZise:
Ich hoffe mal es ist verständlich
Hi,
für mich ehrlich gesagt nicht.
Schade... Dann wohl nicht...

Zitat von Der_Unwissende:
Zitat von xZise:
Und zwar habe ich eine ValueListEditor (VLE) in der von Prozedur X daten geschrieben werden.
Von wem stammt die VLE? Hast du die selbst geschrieben oder ist das eine fertige Komponente? Und wichtiger ist X eine externe Prozedur oder gehört die zur VLE (also wird intern etwas gemacht, oder extern?).
-> Siehte Komponentenplette
-> Forensuche
=> Es ist eine Dlephikomponente, seit längeren (D6/7 mind.)

Prozedur X ist eine externe Prozedur.
=> Eine Prozedur die innerhalb der Form ist, aber nicht vom VLE ausgelöst wurde.

Zitat von Der_Unwissende:
Zitat von xZise:
Nun möchte ich aber nicht, dass der VLE dabei die Methode auslöst
Es wird eher ein Ereignis ausgelöst, die Methode ist nur die Behandlung des Ereignisses. Setzt du dieses Ereignis oder gibt es ein Standardereignis? Wer wird benachrichtigt wenn das passiert? Was genau führt dabei zu AV?

Wenn ich nicht die Antworten auf all diese (offenen) Fragen übersehen habe, würde ich schon sagen, dass es nicht wirklich gut verständlich ist was du möchtest. Schöner wäre es also, wenn du erstmal ausführlich erklären könntest was du machst und wo bzw. warum dabei ein Fehler auftritt.

An sich wird ja irgendwas zu der AV führen, vielleicht solltest du einfach mal in der Ereignisbehandlung prüfen ob diese AV auftreten würde und ggf. eben dafür sorgen, dass das nicht passiert.
Wenn du die Komponente selber schreibst und die AV daher kommt, dass zu irgendeinem Zeitpunkt die Behandlung ausgelöst wird, aber noch keine Methode zugewiesen wurde, so solltest du einfach vorher prüfen ob du einen gültigen Zeiger hast (also assigned(Zeiger)) und nur dann die Behandlung auslösen.
Wenn du die Ereignisbehandlung selber setzt / diese published ist, dann kannst du in Methode X einfach die Adresse der hier aufzurufenden Methode zwischenspeichern, der Ereignisbehandlung den Wert nil geben und vor verlassen von X wieder die gespeicherte Adresse zuweisen.

Gruß Der Unwissende
Was ist daran so unverständlich, dass du so viel Text schreiben musst?

Die Sachlage ist ganz einfach:

Zitat:
Wir haben:
  • eine Form
  • Eine VLE (Abk. für den TValueListEditor)
  • Prozedur X
  • Prozedur "OnChange"

Nun wird in Prozedur X (es ist nicht von belangen, wer wo und wie sie aufgerufen wird!) etwas im VLE geändert, was die "Änderung"-Prozedur (oben als "Prozedur "OnChange"" bezeichnet) auslöst.
Meine Frage: Gibt es eine Prozedur, die nur ausgelöst wird, wenn ich etwas daran als Benutzer ändere.

Weitere Informationen
Und dann gibt es in DIESER Prozedur eine AV. Warum, ist nicht wichtig, weil es darum geht, dass ich 2 verschiedene Ansichten habe.
Einmal so eine art "Baumstrukutr" und dann einmal eine Tabelle (VLE). Und ich editiere immer beide gleichzeitig.

Problem => Sobald ich im VLE was eine Editiere, muss er es auch im "Baum" ändern.
@ Rest: Ich werde mir den Code nocheinmal genau angucken, und versuchen da was zu verbessern... Aber danke erstmal für eure Bemühungen
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat