Compilerfehler bei TStringList: fpg_intf.pas(787,26) Error: Wrong number of parameters specified for call to "Delete"
-
Mario Peters
- Beiträge: 38
- Registriert: Sa 26. Apr 2025, 22:41
Compilerfehler bei TStringList: fpg_intf.pas(787,26) Error: Wrong number of parameters specified for call to "Delete"
Hallo!
Ich steh grad auf dem Schlauch!
Habe diesen Algotithmus:
function TMyClipBoard.DoGetText: String;
var DelIndex: Integer;
begin
DelIndex := FClipBoard.Count-1;
FClipBoardText := FClipBoard[DelIndex];
TStringList(FClipBoard.Delete[DelIndex]); //Hier wirft der Compiler die Meldung
result := FClipboardText;
end;
Was mache ich da falsch?
Ich will die Clipboardeinträge nach ihrer Verwendung aus der Liste löschen. Was kann ich stattdessen tun? Ich verstehe nicht warum das nicht funktioniert. Ich trage die Strings in meine Zwischenablage ein, um sie zwischenzuspeichern und will sie bei Bedarf, zum Kopieren an andere Stelle wieder verwenden und nach Benutzung aus der Zwischenablage entfernen.
Ich steh grad auf dem Schlauch!
Habe diesen Algotithmus:
function TMyClipBoard.DoGetText: String;
var DelIndex: Integer;
begin
DelIndex := FClipBoard.Count-1;
FClipBoardText := FClipBoard[DelIndex];
TStringList(FClipBoard.Delete[DelIndex]); //Hier wirft der Compiler die Meldung
result := FClipboardText;
end;
Was mache ich da falsch?
Ich will die Clipboardeinträge nach ihrer Verwendung aus der Liste löschen. Was kann ich stattdessen tun? Ich verstehe nicht warum das nicht funktioniert. Ich trage die Strings in meine Zwischenablage ein, um sie zwischenzuspeichern und will sie bei Bedarf, zum Kopieren an andere Stelle wieder verwenden und nach Benutzung aus der Zwischenablage entfernen.
Re: Compilerfehler bei TStringList: fpg_intf.pas(787,26) Error: Wrong number of parameters specified for call to "Delete
Es wäre ganz gut, wenn du die Deklaration von FClipBoard angeben würdest.
Dieses "Casting" macht auch keinen Sinn:
Aber hauptsächlich verwendest du eckige Klammern. Das ist falsch. Es ist eine Procedure. So geht's bestimmt:
Vielleicht mal einen Kaffee trinken? 
Dieses "Casting" macht auch keinen Sinn:
Code: Alles auswählen
TStringList(FClipBoard.Delete[DelIndex]); Code: Alles auswählen
FClipBoard.Delete(DelIndex); -
Mario Peters
- Beiträge: 38
- Registriert: Sa 26. Apr 2025, 22:41
Re: Compilerfehler bei TStringList: fpg_intf.pas(787,26) Error: Wrong number of parameters specified for call to "Delete
Mein Clipboard ist do hier definert:
Code: Alles auswählen
TfpgClipboardImpl = class(TfpgClipboardBase) //genau hinschauen
private
FClipBoardText: TfpgString;
FClipboard: TStrings;
function DoGetText: TfpgString; override;
procedure DoSetText(const AValue: TfpgString); override;
procedure InitClipboard; override;
public
property Text: TfpgString read DoGetText write DoSetText;
property ClipBoardText: TfpgString read FClipBoardText write FClipBoardText;
property ClipBoard: TStrings read FClipBoard write FClipBoard;
end;
function TfpgClipBoardImpl.DoGetText: TfpgString;
var DelIndex: Integer;
begin
DelIndex := FClipBoard.Count-1;
FClipBoardText := FClipBoard[DelIndex];
FClipBoard.Delete(DelIndex); // Auch das löst mein Problem nicht
result := FClipboardText;
end;
procedure TfpgClipBoardImpl.DoSetText(const AValue: TfpgString);
begin
if FClipboardText <> AValue then
begin
FClipBoardText := AValue;
FClipBoard.Add(FClipboardText);
end;
end;
procedure TfpgClipBoardImpl.InitClipboard;
begin
FClipBoardText := '';
FClipBoard := TStringlist.Create;
end;
Was soll ich denn da nun anders machen? :(
Zuletzt geändert von Mario Peters am Mi 10. Dez 2025, 13:52, insgesamt 1-mal geändert.
- Zvoni
- Beiträge: 493
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz/FPC fixes)
- CPU-Target: 64Bit
- Wohnort: BW
Re: Compilerfehler bei TStringList: fpg_intf.pas(787,26) Error: Wrong number of parameters specified for call to "Delete
FClipBoard.Delete(DelIndex); // Auch das lost mein Problem nichtMario Peters hat geschrieben: Mi 10. Dez 2025, 13:43Was soll ich denn da nun anders machen?Code: Alles auswählen
TfpgClipboardImpl = class(TfpgClipboardBase) //genau hinschauen private FClipBoardText: TfpgString; FClipboard: TStrings; function DoGetText: TfpgString; override; procedure DoSetText(const AValue: TfpgString); override; procedure InitClipboard; override; public property Text: TfpgString read DoGetText write DoSetText; property ClipBoardText: TfpgString read FClipBoardText write FClipBoardText; property ClipBoard: TStrings read FClipBoard write FClipBoard; end; function TfpgClipBoardImpl.DoGetText: TfpgString; var DelIndex: Integer; begin DelIndex := FClipBoard.Count-1; FClipBoardText := FClipBoard[DelIndex]; FClipBoard.Delete(DelIndex); // Auch das lost mein Problem nicht result := FClipboardText; end;![]()
Das ist jetzt aber anderst als vorher.
Und welchen Fehler bekommst du hier?
Ausserdem sieht mir der ganze Zinnober doch sehr nach nem "Stack" aus....
EDIT: Ist das fpGUI????
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
-
Mario Peters
- Beiträge: 38
- Registriert: Sa 26. Apr 2025, 22:41
Re: Compilerfehler bei TStringList: fpg_intf.pas(787,26) Error: Wrong number of parameters specified for call to "Delete
Ja ist fpGUI! Ich kriege den besagten Compiler Fehler! Warum? Wie könnte ich so ein Clipboard noch coden?
- af0815
- Lazarusforum e. V.
- Beiträge: 7034
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Compilerfehler bei TStringList: fpg_intf.pas(787,26) Error: Wrong number of parameters specified for call to "Delete
Schon angesehen, wie dieses "Delete" im Source aussieht ?! Weil dorthin springen müsste man ja können und sich die Deklaration ansehen und somit auch eine eventuell vorhandene Überladung.Mario Peters hat geschrieben: Mi 10. Dez 2025, 14:21 Ja ist fpGUI! Ich kriege den besagten Compiler Fehler! Warum? Wie könnte ich so ein Clipboard noch coden?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- Zvoni
- Beiträge: 493
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz/FPC fixes)
- CPU-Target: 64Bit
- Wohnort: BW
Re: Compilerfehler bei TStringList: fpg_intf.pas(787,26) Error: Wrong number of parameters specified for call to "Delete
Sein "Delete" gehört zu FClipBoard, was ein TStrings/TStringList ist.af0815 hat geschrieben: Mi 10. Dez 2025, 14:23Schon angesehen, wie dieses "Delete" im Source aussieht ?! Weil dorthin springen müsste man ja können und sich die Deklaration ansehen und somit auch eine eventuell vorhandene Überladung.Mario Peters hat geschrieben: Mi 10. Dez 2025, 14:21 Ja ist fpGUI! Ich kriege den besagten Compiler Fehler! Warum? Wie könnte ich so ein Clipboard noch coden?
https://www.freepascal.org/docs-html/rt ... elete.html
https://www.freepascal.org/docs-html/rt ... elete.html
Ergo ist das hier richtig:
FClipBoard.Delete(DelIndex); // Auch das lost mein Problem nicht
Nur was ist jetzt da das Problem?
Und ich verstehe nicht, wieso er in fpGUI-Internen Klassen rumpfuscht
https://fpgui.sourceforge.net/apidocs/f ... board.html
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Re: Compilerfehler bei TStringList: fpg_intf.pas(787,26) Error: Wrong number of parameters specified for call to "Delete
Ich bin mir ziemlich sicher, dass dies dein Problem löst.Mario Peters hat geschrieben: Mi 10. Dez 2025, 13:43Code: Alles auswählen
FClipBoard.Delete(DelIndex); // Auch das löst mein Problem nicht
Vielleicht hast du noch ein zusätzliches Problem, aber kaum mit der selben Fehlermeldung an der selben Stelle.
-
Mario Peters
- Beiträge: 38
- Registriert: Sa 26. Apr 2025, 22:41
Re: Compilerfehler bei TStringList: fpg_intf.pas(787,26) Error: Wrong number of parameters specified for call to "Delete
Ja, tut es jetzt auch, hatte Schreibfehler. Danke für die Hilfe. 