Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Zugriffsverletzung durch neues Formular-Objekt (https://www.delphipraxis.net/127303-zugriffsverletzung-durch-neues-formular-objekt.html)

SebE 13. Jan 2009 11:34

Re: Zugriffsverletzung durch neues Formular-Objekt
 
Über den OI funktioniert das "Datei öffnen" (ohne Tricks)


Edit:

Delphi-Quellcode:
object btOeffnen: TToolButton
      Left = 23
      Top = 0
      Hint = 'Datei öffnen...'
      Caption = 'Ö&ffnen'
      ImageIndex = 1
      OnClick = miOeffnenClick
    end
ist:

Zitat:

object btOeffnen: TToolButton
Left = 23
Top = 0
Hint = 'Datei öffnen...'
Caption = 'Ö&ffnen'
ImageIndex = 1
OnClick = miOeffnenClick
end
Was??? ich dachte gerade das liegt am Forum...also mein Original-Quellcode sieht nicht so aus, wie "deiner"

nahpets 13. Jan 2009 11:47

Re: Zugriffsverletzung durch neues Formular-Objekt
 
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 :wink: )[/OT]

SebE 13. Jan 2009 12:00

Re: Zugriffsverletzung durch neues Formular-Objekt
 
:oops: "TToolBar" stand da nicht.... tut mir leid....hab ich aus Zeitnot verschrieben...es kam das raus, was rauskommen soll "TToolButton"....*mist*

Danke, dass du dir so viel Arbeit machst um mir zu helfen...ist echt derbe - danke.

Es funktioniert ja derzeit wieder - ich weiß nur nicht warum Delphi den letzten Eintrag im Deklarationsteil gesondert behandelt(?)

Stehen in dem Code, den ich gesendet habe, wirklich die Umlaute "verschlüsselt"...in meinem, den ich aufn Rechner habe ist das nicht so(?)...aber den hab ich ja geschickt(echt komisch)

nahpets 13. Jan 2009 12:24

Re: Zugriffsverletzung durch neues Formular-Objekt
 
Hallo,

also das mit den Umlauten in der DFM kenne ich eigentlich nur so, wie ich es hier aus dem Forum kopiert habe, von daher verwundert es mich nicht. Eventuell liegt es ja an irgendeiner Einstellung von Delphi oder am Zeichensatz des System oder oder oder. Das sollte aber eigentlich kein Problem sein. Achso, diese Versionen siehst Du nur in der Textansicht des Formulars
Delphi-Quellcode:
Hint = 'Datei '#246'ffnen...'
Caption = #214'&ffnen'
aber nicht im OI.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz