Rund um die LCL und andere Komponenten
Levario
Beiträge: 91 Registriert: Mo 1. Sep 2014, 14:32
OS, Lazarus, FPC: Windows 10 Pro Laptop (Lazarus 2.2.6 FPC 3.2.2)
CPU-Target: 64 Bit
Wohnort: Deutschland / NRW
Beitrag
von Levario » So 5. Nov 2023, 06:04
Ich habe zu dem Thema bislang folgendes gefunden.
https://www.delphipraxis.net/46689-pane ... ellen.html
Leider funktioniert mein Code nicht, könnt ihr mir etwas auf die Sprünge helfen? Ich bekomme den Error
bei mypanel.OnClick:= mybuttonClick; und mytext.OnClick := mybuttonClick;
der Fehler lautet: Wrong numbers of parameters spezified for call to mybuttonClick.
Code: Alles auswählen
type
{ TMainForm }
TMainForm = class(TForm)
...
procedure mybuttonClick(Sender : TObject);
private
procedure CreateNewButton;
public
end;
procedure TMainForm.CreateNewButton;
var
mypanel : TPanel;
myimage : TImage;
mytext : TLabel;
stri : string;
begin
stri := IntToStr(inti);
mypanel:=TPanel.Create(Self);
mypanel.parent := MainForm;
mypanel.top := 93;
mypanel.height := 32;
mypanel.Width:= 160;
mypanel.name := 'MyPanel' + stri;
mypanel.caption := '';
mypanel.color := TColor($00333333);
mypanel.OnClick:= mybuttonClick;
mytext := TLabel.Create(Self);
mytext.parent := mypanel;
mytext.top := 5;
mytext.left := 39;
mytext.Font.color := clWhite;
mytext.Font.Name := 'Segoe UI';
mytext.Font.Size := 12;
mytext.Font.Style:= [fsBold];
mytext.caption := 'MyWebseite';
mytext.name := 'MyText' + stri;
mytext.OnClick := mybuttonClick;
end;
procedure TMainForm.mybuttonClick(Sender : TObject);
begin
OpenURL('https://www.mywebsite.de');
end;
end.
Zuletzt geändert von
Levario am So 5. Nov 2023, 08:23, insgesamt 2-mal geändert.
Der Weg ist das Ziel... Aber bitte nicht vergessen los zu laufen :).
wennerer
Beiträge: 463 Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2
Beitrag
von wennerer » So 5. Nov 2023, 07:13
Guten Morgen,
du musst ein @ davor setzen.
Sieht dann so aus:
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TMainForm }
TMainForm = class(TForm)
procedure FormCreate(Sender : TObject);
procedure MyOnClick(Sender : TObject);
private
MyButton : TButton;
public
end;
var
MainForm : TMainForm;
implementation
{$R *.lfm}
{ TMainForm }
procedure TMainForm.FormCreate(Sender : TObject);
begin
MyButton := TButton.Create(self);
MyButton.Parent := self;
MyButton.SetBounds(20,20,150,25);
MyButton.Caption := 'MyOnClick';
MyButton.OnClick := @ MyOnClick;
end;
procedure TMainForm.MyOnClick(Sender : TObject);
begin
showmessage('Du hast geklickt!');
end;
end.
Viele Grüße
Bernd
Dateianhänge
project1.zip
(105.37 KiB) 7-mal heruntergeladen
Levario
Beiträge: 91 Registriert: Mo 1. Sep 2014, 14:32
OS, Lazarus, FPC: Windows 10 Pro Laptop (Lazarus 2.2.6 FPC 3.2.2)
CPU-Target: 64 Bit
Wohnort: Deutschland / NRW
Beitrag
von Levario » So 5. Nov 2023, 08:22
Wow, guten morgen,
schnelle Hilfe vielen Dank die Software läuft.
Gruß Levi
Der Weg ist das Ziel... Aber bitte nicht vergessen los zu laufen :).
Mathias
Beiträge: 5929 Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz
Beitrag
von Mathias » So 5. Nov 2023, 15:05
Wen du folgendes schreibst und anschliessend [Ctrl + Shift + c] drückst, macht es dir alles automatisch.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
theo
Beiträge: 10333 Registriert: Mo 11. Sep 2006, 19:01
Beitrag
von theo » So 5. Nov 2023, 15:50
Mathias hat geschrieben: ↑ So 5. Nov 2023, 15:05
Wen du folgendes schreibst und anschliessend [Ctrl + Shift + c] drückst, macht es dir alles automatisch.
Eben nicht! Er macht kein @.
Oder in welcher Version/Einstellung ist das so?
Mathias
Beiträge: 5929 Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz
Beitrag
von Mathias » So 5. Nov 2023, 16:30
theo hat geschrieben: ↑ So 5. Nov 2023, 15:50
Mathias hat geschrieben: ↑ So 5. Nov 2023, 15:05
Wen du folgendes schreibst und anschliessend [Ctrl + Shift + c] drückst, macht es dir alles automatisch.
Eben nicht! Er macht kein @.
Oder in welcher Version/Einstellung ist das so?
In der aktuellen Stable ohne irgendwelchen Einstellungen.
Und dies bei einem neuen leeren Project.
Code: Alles auswählen
procedure TForm1.FormCreate(Sender: TObject);
begin
OnClick:= // Hier : [Ctrl + Shift + c]
end;
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot