[CC] Aktives Control ermitteln

7. November 2011 16:16

EDIT: Die Ursache für das Aktivierungsproblem konnte letztlich für EINE von fünf problematischen Forms nicht gefunden werden. Damit kann ich leben. Danke für Eure Unterstützung.
============================================================

Hallo zusammen,

ich bin auf Fehlersuche in einer Form und habe das Problem, dass leider nicht das Control aktiviert wird, welches aktiviert werden sollte - obwohl dieses gemäß OnOpenForm-Trigger

Code:
IF CurrForm."Artikelnr.".VISIBLE THEN
  CurrForm."Artikelnr.".ACTIVATE();


sowie alternativ auch in den Properties der Form (ActveControlOnOpen) geschieht.

Ich finde im Code keine weiteren ACTIVATE-Angaben. Der Cursor springt auch immer auf das erste Feld der Form -egal welches ich dort platziere.

Kann ich an div. Codestellen abfragen, welches Control gerade aktiv ist (um meine Fehlerquellen einzugrenzen)? Könnte die Aktivierung an anderer Stelle ohne ACTIVATE zurückgesetzt werden?

Schon mal DANKE für jeden Tip.

Gruß,
Gerald
Zuletzt geändert von tachzusammen am 10. November 2011 11:25, insgesamt 2-mal geändert.

Re: CC: Aktives Control ermitteln

7. November 2011 16:30

Schau dir mal die Hilfe zur Property "ActiveControlOnOpen" an. Ich denke damit kannst du deine Anforderung erfüllen.

EDIT: Sorry, hab den Satz mit dem "ActiveControlOnOpen" überlesen. Also dann kann es doch nur sein, dass tatsächlich irgendwo ein Stück Code existiert, dass das entsprechende Control aktiviert. Eventuell das Form mal als Text exportieren und nach den Schlagwörtern suchen?

EDIT2: Dagegen spricht ja deine Aussage, dass immer das erste Feld des Forms aktiviert wird. Dieses Verhalten kann eigentlich nur erreicht werden, wenn "ActiveControlOnOpen" nicht gesetzt wird oder auf eine nicht vorhandene ID gesetzt wird.

Und nochmal EDIT: Also ich kann es nachvollziehen, wenn eine nicht gültige ID bei ActiveControlOnOpen eingetragen wird oder auch wenn dort eine ID eines Labels eingetragen wird. Wenn ich allerdings ein explizites ACTIVATE in den OnOpenForm-Trigger schreibe, wird der Code auch ausgeführt.

Re: [CC] Aktives Control ermitteln

7. November 2011 17:01

Hallo Tim,

der Trigger wird auch ausgeführt ... aber später geht mir die diese Aktivierung wieder verloren. Seltsam ist, dass ich ein Pendent (mit ein paar Abweichungen) zu dieser Form habe, wo das mit der Aktivierung funktioniert. Leider habe ich recht viel Code und das Debuggen ist keine Freude :-(

Gruß,
Gerald

Re: [CC] Aktives Control ermitteln

7. November 2011 17:04

Aber dann würde ich erstmal diese beiden Sachen versuchen:
  • Text-Export und suche nach "ACTIV"
  • Code Coverage aktivieren. Da ja die Controls eines Forms nicht aus anderen Objekten manipuliert werden können, wenn das Form direkt über das Menü aufgerufen wird (und so habe ich das bei dir verstanden), dann kann der fragliche Code ja nur im Form selbst zu finden sein.

Re: [CC] Aktives Control ermitteln

7. November 2011 17:10

Hallo,


schau doch mal in OnOpenForm nach. Vielleicht wird da wieder was übersteuert?
(Oder in den einzelnen Feld Trigger)


Gruß
Aydin

Re: [CC] Aktives Control ermitteln

7. November 2011 17:54

Das Control hat nicht zufällig Focusable auf false?

Re: [CC] Aktives Control ermitteln

7. November 2011 18:23

Leider doch. Das Feld ist fokussierbar.
Ich brauch' jetzt erstmal 'ne Pause ... und einen Kaffee ... vielleicht bringt der ja die Erleuchtung :-)

Aber DANKE für den Input!