![]() |
Ableitung von TCustomSynEdit -> private Methoden weg
Hi!
Ich ärgere mich da schon eine Zeit lang grün und blau, weil ich eine Komponente von TCustomSynEdit ableiten will. Dabei will ich dann eine private Methode aufrufen, aber er sagt, dass er die nicht kennt :roll: . Zusätzlich sagt er noch, wenn ich den Destructor überschreiben will, dass er den in der Basisklasse nicht findet, obwohl er dort definiert ist. Bin fast schon verzweifelt und über jede Hilfe dankbar! |
Re: Ableitung von TCustomSynEdit -> private Methoden weg
Moin Gerhard,
zum Thema private-Methoden aufrufen solltest Du Dir mal in der Hilfe unter dem Stichwort Sichtbarkeit/Visiblity nachschauen. Ein Auszug: Zitat:
Delphi-Quellcode:
klappt bei mir problemlos :gruebel:
type
TMySynEdit = class(TCustomSynEdit) public destructor Destroy; override; end; |
Re: Ableitung von TCustomSynEdit -> private Methoden weg
Zitat:
Delphi-Quellcode:
Genau das funktioniert bei mir eben nicht; da sagt er, dass er diese Methode in der Basisklasse nicht findet :gruebel:
type
TMySynEdit = class(TCustomSynEdit) public destructor Destroy; override; end; |
Re: Ableitung von TCustomSynEdit -> private Methoden weg
Moin Gerhard,
Program meint hier aber wohl eher die Projektdatei, die ja nicht direkt als Unit anzusehen ist. Für das Beispiel habe ich mir ein SynEditMemo auf das Formular gezogen gehabt, damit alle erforderlichen Units unter uses eingetragen werden. |
Re: Ableitung von TCustomSynEdit -> private Methoden weg
Zitat:
protected = sichtbar innerhalb von Member-Funktionen der Klasse und abgeleiteten Klassen public = überall sichtbar Mit program meinen die, dass du überhaupt keine Unit deklariert hast sondern alles direkt in der dpr-Datei machst. (war doppelt, wurde abgezogen) Über private-Members habe ich mich schon oft geärgert, besonders wenn die ohne viel Gedanken deklariert wurden (also eigentlich protected sein sollten). Da ich SynEdit nicht installiert habe kann ich dazu aber nichts sagen. Ebenso wenig wie zu deinem Problem mit dem Destruktor. |
Re: Ableitung von TCustomSynEdit -> private Methoden weg
Das mit dem Destructor kann man ja mal sein lassen, ob da override steht oder nicht, soll mich nicht stören. Nur mich hats irgendwie gewundert, weil ich den Verdacht gehegt habe, dass er eine falsche Kompo nimmt; deshalb habe ich es erwähnt.
Nochmal zu der Ableitung: Ist also die einzige Möglichkeit, die abgeleitete Kompo in der Unit SynEdit zu definieren, oder gibts vielleicht noch andere Möglichkeiten. Ich möchte nämlich die SynEdit Source-Dateien möglichst unberührt lassen. |
Re: Ableitung von TCustomSynEdit -> private Methoden weg
Zitat:
Zitat:
|
Re: Ableitung von TCustomSynEdit -> private Methoden weg
Liste der Anhänge anzeigen (Anzahl: 1)
Ich bin mir schon darüber klar, dass es durchaus sinnvoll ist, dass ich auf private Deklarationen nicht zugreifen kann. Andererseits habe ich mir eine Funktion aus dem SynEdit-Source rauskopiert und möchte sie etwas abändern (PaintTextLines), um die Glyphs für Tabs und Leerzeichen selber einfärben möchte. Dann muss ich wohl meine Kompo in die SynEdit-Unit hineingeben...
Aber euch sage ich herzlichen Dank für eure Hilfen!!! :thumb: Edit: Und ein Beweisfoto noch von mir (vom ersten Beitrag) im Anhang :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr. |
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