Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#32

Re: Zugriffsverletzung durch neues Formular-Objekt

  Alt 13. Jan 2009, 12:47
Hallo,

@Sherlock: Das mit den Umlauten macht Delphi (mein D7 tut das jedenfalls).

@SebE
habe mir gerade Deine Quelltext gekrallt und mal mein Delphi 7 versorgt.
Da Du von der Unit nur den Interfaceteil hier eingestellt hast, musste ich alle Ereignisroutinen auskommentieren, um Delphi zum Kompilieren zu überreden. Dadurch wurden dann auch alle Verweise auf Ereignisroutinen entfernt.

Dann habe ich kompiliert, anschließen einem ToolButton eine neue Ereignisroutine zugewiesen und dann mal mit ShowMessage(Sender.Classname) geschaut, was das ist. Bei mir kommt da TToolButton heraus, was wir ja eigentlich auch alle erwarten.

Wenn bei Dir dort aber TToolBar erscheint, scheint irgendwo eine Ereigniszuordnung schiefgelaufen zu sein. In der DFM kann ich aber nichts finden, was auf einen Fehler hinweist.
Hast Du eventuell irgend eine Routine (die situationsabhängig) den Menüs und Buttons andere Ereignisse zuweist?
Delphi-Quellcode:
procedure SetButtons(const SynEdit: TSynEdit; const SelectedText: BOOL;
  const TabsExist, MoreThanOneTabExist: BOOL);
procedure SetTextStatusButtons(const SynEdit: TSynEdit;
  const TabsExist, SelectedText: BOOL);
Das könnten Kandidaten dazu sein, geht da eventuell irgendwas schief?

Daher Vorschlag (befürchte mit viel Arbeit verbunden):
DFM als Text anzeigen.
In die Unit wechseln.
In der Unit alle Ereignisroutinen vollständig auskommentieren.
In die DFM wechseln und diese wieder in der Formularansicht anzeigen lassen.
Von Delphi nun alle Ereignisroutinen aus der DFM entfernen lassen (Delphi sollte hier nachfragen).
Kompilieren.
Auskommentierung der Ereignisroutinen rückgängig machen und dann die Ereignisse neu zuweisen.

[OT]Du benutzt die gleichen Namenskonventionen, wie ich es mache, konnt mich in Deinem Quelltext daher direkt "zu Hause" fühlen. Macht das Ganze doch deutlich einfacher )[/OT]
  Mit Zitat antworten Zitat