Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#8

Re: Ungültige Typenumwandlung bei TComponentNAME

  Alt 19. Aug 2006, 20:59
Zitat von onlinehome:
Ich habe einen Haltepunkt bei Selected:=(Sender as TPanel).Name; gesetzt. Sobald der Debugger diesen erreicht und die Anwendung stoppt klicke ich mit der rechten Maustaste auf Sender und dann Fehlersuche > Auswerten/Ändern... Inspect bzw. Inspizieren gibts bei meinen Delphi nicht. Ich habe Delphi 7 Personal. Oder ist der genannte Menüpunkt woanders versteckt?

EDIT: Wenn ich den Debugger nach den Haltepunkt weiterlaufen lasse und dann die obengenannte Prozedur mache steht im Auswserten/Ändern-Fenster "Undefinierter Bezeichner: 'Sender'".
1. Gibt es den Punkt 'Untersuchen'? Das wäre das gleiche und liefert Informationen über die betreffende Klasse mit einem Aufbau ähnlich dem Objektinspektor.

2. Untersuche Sender im Tool-Fenster 'Überwachte Ausdrücke', und zwar für die Angaben, die zunächst interessant sind - siehe Delphi-Referenz durchsuchenTObject Methoden. Ich empfehle zunächst Sender.ClassName, damit Du weißt, wer das Ereignis ausgelöst hat. (Ich hoffe, dass Deine Struktur so aufgebaut ist, dass diese Information Auskunft gibt.) Vergiss dabei nicht, 'Funktionsaufrufe gestatten' einzuschalten (weil in TObject nur Methoden, keine Eigenschaften deklariert sind).

Zu Deinem EDIT: Der Compiler sorgt dafür, dass innerhalb einer Prozedur ein Element (hier: Sender) nur solange bekannt ist, wie damit noch etwas damit gemacht wird; danach wird das Element intern entfernt.

Ich hoffe, das hilft. Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat