![]() |
Fehlermeldung Methodenbezeichner erwartet
Hallo,
ich wollte diesen Code in mein Projekt einbinden, bekomme aber die Fehlermeldung: Methodenbezeichner erwartet. In der Hilfe habe ich schon gelesen, verstehe aber nicht, was da gemeint ist und kann die Erklärung für mein Problem nicht umsetzen. Der Compiler hängt sich immer am RichEdit1 auf. Vielleicht seht Ihr ja, wo der Fehler ist!
Delphi-Quellcode:
type
TForm1 = Class(TForm); RichEdit1 = TRichEdit; procedure RichEdit1OnKeyup(Sender: TObject; var Key: word; Shift: TShiftState); procedure RichEdit1OnKeydown(Sender: TObject; var Key: word; Shift: TShiftState); implementation uses unit5; // ====== einfügen ============================== procedure RichEdit1OnKeyup(Sender: TObject; var Key: word; Shift: TShiftState); var selstart: integer; tempstr1: PChar; begin if key = VK_RETURN then begin tempstr1 := ' '; SendMessage(RichEdit1.Handle, EM_Getsel, longint(@selstart), 0); SendMessage(RichEdit1.Handle, EM_Replacesel, 0, LongInt(tempstr1)); SendMessage(RichEdit1.Handle, EM_Setsel, selstart + 4, Selstart + 3); key := 0; end; |
Re: Fehlermeldung Methodenbezeichner erwartet
Delphi-Quellcode:
Du musst TForm1 davor schreiben, es ist ja eine Methode von Form1.
procedure TForm1.RichEdit1OnKeyup(Sender: TObject; var Key: word; Shift: TShiftState);
[edit] Achja, und aus
Delphi-Quellcode:
mach mal
RichEdit1 = TRichEdit;
Delphi-Quellcode:
[/edit]
RichEdit1: TRichEdit;
|
Re: Fehlermeldung Methodenbezeichner erwartet
Delphi-Quellcode:
Hilft auch nicht!!!
procedure TForm1.RichEdit1OnKeyup(Sender: TObject; var Key: word; Shift: TShiftState);
Delphi-Quellcode:
Hab ich gemacht, aber jetzt meckert er schon beim type
RichEdit1: TRichEdit;
Die Anzahl der Fehlermeldungen hat sich jetzt nur noch erhöht!!! Beim RichEdit1 kann ich die Ereignisse auch gar nicht eintragen! Müsste da nicht was zu sehen sein oder passiert das erst, wenn die unit fehlerfrei durchläuft? |
Re: Fehlermeldung Methodenbezeichner erwartet
Ööhhmm... ist das die komplette Unit im ersten Post oder nur Auszüge?
|
Re: Fehlermeldung Methodenbezeichner erwartet
So sieht es vollständig aus:
Delphi-Quellcode:
bei unit5 habe ich halt unter der Implementierung uses keys stehen.
unit keys;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, FileCtrl, ComCtrls, ExtCtrls, JvComponentBase, JvComputerInfoEx, JvExStdCtrls, JvListBox, JvDriveCtrls, JvListComb, JvCombobox, ToolWin, JvExComCtrls, JvToolBar, JvButton, JvCtrls, JvFooter, JvExExtCtrls, JvExtComponent, JvSpeedbar, RichEditBrowser, JvComCtrls, JvComponentPanel, JvExControls, JvLookOut; type TForm1 = Class(TForm); RichEdit1: TRichEdit; procedure RichEdit1OnKeyup(Sender: TObject; var Key: word; Shift: TShiftState); procedure RichEdit1OnKeydown(Sender: TObject; var Key: word; Shift: TShiftState); implementation uses unit5; // ====== einfügen ======================================= procedure TForm1.RichEdit1OnKeyup(Sender: TObject; var Key: word; Shift: TShiftState); var selstart: integer; tempstr1: PChar; begin if key = VK_RETURN then begin tempstr1 := ' '; SendMessage(RichEdit1.Handle, EM_Getsel, longint(@selstart), 0); SendMessage(RichEdit1.Handle, EM_Replacesel, 0, LongInt(tempstr1)); SendMessage(RichEdit1.Handle, EM_Setsel, selstart + 4, Selstart + 3); key := 0; end; end; // ====== </p> schliessen ==================================== procedure TForm1.RichEdit1OnKeydown(Sender: TObject; var Key: word; Shift: TShiftState); var selstart: integer; tempstr2: PChar; begin if key = VK_RETURN then begin tempstr2 := '</p>' ; SendMessage(RichEdit1.Handle, EM_Getsel, longint(@selstart), 0); SendMessage(RichEdit1.Handle, EM_Replacesel, 0, LongInt(tempstr2)); SendMessage(RichEdit1.Handle, EM_Setsel, selstart + 4, Selstart + 4); key := 0; end; end; end. |
Re: Fehlermeldung Methodenbezeichner erwartet
Wie bekommt man so einen Code hin? Na egal, ändere mal die Typdeklaration:
Delphi-Quellcode:
Wobei ich nicht sicher bin, ob die Ereignisse auch ausgelöst werden, da sie vermutlich nicht zugewiesen sind. Wieso erstellst Du nicht einfach ein neues Formular, packst da ein Richedit drauf und kopierst den Code der beiden Methoden da hinein? Wäre das Einfachste.
type
TForm1 = Class(TForm) RichEdit1: TRichEdit; procedure RichEdit1OnKeyup(Sender: TObject; var Key: word; Shift: TShiftState); procedure RichEdit1OnKeydown(Sender: TObject; var Key: word; Shift: TShiftState); end; |
Re: Fehlermeldung Methodenbezeichner erwartet
Ich habe mit end; die Deklaration geschlossen. Und er hängt sich jetzt schon beim type auf!
Zitat:
Vielleicht wird das Problem dann gelöst? Zitat:
Gibt es da einen Trick? |
Re: Fehlermeldung Methodenbezeichner erwartet
Wie meinst du an welche Stelle?
|
Re: Fehlermeldung Methodenbezeichner erwartet
Wie hast Du das Formular denn erstellt?
|
Re: Fehlermeldung Methodenbezeichner erwartet
Zitat:
Zitat:
Da der Code so bleibt, wollt ich ihn halt auslagern. Konnte ja nicht ahnen, dass das so schwierig ist :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:23 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