Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi class procedure erwartet? (https://www.delphipraxis.net/38212-class-procedure-erwartet.html)

Mattze 16. Jan 2005 10:48


class procedure erwartet?
 
Hallo,

ich spiele gerne ein bisschen, wenn ich die Quelltexte einer Freeware bekommen.
Nun folgendes Problem bei ShellShock (SSCTL.pas):

TStCustomShellNotification = class(TSsComponent)
...

TStShellNotification = class(TStCustomShellNotification)
...

Geht und der Compiler meckert nicht. Funktioniert dann auch richtig.
Mache ich aber Ctrl-Shift-C in der IDE meckert Delphi beim zweiten:
Procedure erwartet, aber "(" gefunden

Was ist falsch? Ich will doch gar keine Klassenprozedur! Was kann man denn da machen? :?:

(Delphi 7.01)

Gruß
Matthias

SirThornberry 16. Jan 2005 10:56

Re: class procedure erwartet?
 
wie kommst du auf klassenprocedure
mit
Delphi-Quellcode:
TStShellNotification = class(TStCustomShellNotification)
wird eine neue Klasse(Object) namens "TSTHellNotification" declariert welches von "TStCustomShellNotification" abgeleitet ist. Und wenn du jetzt noch verrätst was "Ctrl-Shift-C" macht (compilieren, ausführen...? (ist ja je nach eingstelltem Tastaturlayout anders)) könnte man eventuell schon weiterhelfen. Kommt nach
Delphi-Quellcode:
TStShellNotification = class(TStCustomShellNotification)
eigentlich noch die gesammte klassendeklaration? Wenn nicht sollte dahinter ein ";"

Muetze1 16. Jan 2005 15:01

Re: class procedure erwartet?
 
Moin!

Du kennst STRG-SHIFT-C nicht? Ohne dies würde ich mich weigern zu programmieren. STRG-SHIFT-C sorgt dafür das dir Delphi unten die Methode schon komplett hinschreibst, nachdem du sie oben einfach nur in der Klasse definiert hast. Anders herum auch möglich: schreib unten eine neue Methode der Klasse (also implementiere sie) und drücke STRG-SHIFT-C und er trägt sie oben in der Klasse ein (erstmal im private, verschieben kannst du es ja dann noch). STRG-SHIFT-C ist die Klassenvervollständigung - ist aber bei den "kleinen" Versionen von Delphi nicht enthalten (z.B. personal).

@ThreadErsteller: Sehr merkwürdig. Er sollte im Normalfall kein Problem damit haben und nichts am Quellcode tun. Ich habe es aber auch schon mal erlebt, dass er durcheinander gekommen war bei grossen, in einander verschachtelten Kommentarblöcken unterschiedlichen Typs, kann es daran liegen?

MfG
Muetze1

SirThornberry 16. Jan 2005 15:05

Re: class procedure erwartet?
 
achso, das "strg + alt + C" hab ich mir abgewöhnt weile es nicht genau das macht was ich will (bei properties) und die methoden dann nicht alphabetich geordnet sind (finde es gruselig wenn immer unten dran das neue angefügt wird. Zumal dabei immer alle unvollständigen unten angefügt werden und nicht nur die aktuelle, und auch so wurden mir da mal paar properties versaut... (property war bereits declariert, mit get- und SetMethode und nach der Tastenkompi wurde es umgebastelt und es wurde eine Variable im privatebereich erzeugt und meine GetMethode aus dem Property entfernt (somit völlig falscher effekt).

Ich denk mal die Kombi macht bei dir auch einfach etwas das du nicht wirklich willst sondern etwas anderes was für andere programmierer logich ist...

Mattze 16. Jan 2005 17:06

Re: class procedure erwartet?
 
Hallo,

also Du hast offenbar meine Frage nicht richtig gelesen!
Das Strg-Alt-C klappt bei mir eben nicht - siehe erste Frage.
Schlimmer: Das Strg-Pfeilrunter zum Umschalten zwischen Deklaration und Code funktioniert nicht.
Und noch schlimmer: Dadurch funktioniert auch der Code-Explorer nicht, der doch manchmal ganz hilfreich zum Springen im Quelltext ist.

Und ich habe eben keine Erklärung, warum er da eine Klassenprozdur haben will und was man da korrigieren könnte.

Gruß
Matthias


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 Uhr.

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