Probleme mit Listbox füllen aus eigene Procedure
Probleme mit Listbox füllen aus eigene Procedure
Hallo,
ich bin ein totaler Noob in Sachen Lazarus. Vor Jahren habe ich mal Turbo Pascal gemacht das ging ganz gut. Jetzt probier ich mal Lazarus aus. Also ich habe noch Probleme mit diesen Methoden.
Ich habe mir eine Procedure ( procdure RS232;) gebastelt, mit der ich momentan eine Zeichen über die Com-Schnitstelle an eine Hardware schicke und diese sendet ein Antwortstring zurück. Das klappt schonmal. Mein Prog hat ein Tform1 darauf ist eine Listbox1. Getestet habe ich diese mit einem Button, welchen ich klicke und so die Listbox mit Hilfe Item.add fülle.
Wie kann ich jetzt aus meine RS232 Procedure heraus diese Listbox füllen?
wenn ichs so mache:
TForm1.ListBox1.Items.Add('aus rs232');
kommt die Fehlermeldung:
unit1.pas(78,21) Error: Only class methods can be referred with class references
und so:
ListBox1.Items.Add('aus rs232');
kommt:
unit1.pas(78,13) Error: Identifier not found "ListBox1"
Muß ich meine procedure rs232 zum Tform1 binden (was bedeutet "binden" genau?) und wenn ja wie?
wie gesagt ich hab noch nicht den Duchblick, also nicht schlagen.
ich bin ein totaler Noob in Sachen Lazarus. Vor Jahren habe ich mal Turbo Pascal gemacht das ging ganz gut. Jetzt probier ich mal Lazarus aus. Also ich habe noch Probleme mit diesen Methoden.
Ich habe mir eine Procedure ( procdure RS232;) gebastelt, mit der ich momentan eine Zeichen über die Com-Schnitstelle an eine Hardware schicke und diese sendet ein Antwortstring zurück. Das klappt schonmal. Mein Prog hat ein Tform1 darauf ist eine Listbox1. Getestet habe ich diese mit einem Button, welchen ich klicke und so die Listbox mit Hilfe Item.add fülle.
Wie kann ich jetzt aus meine RS232 Procedure heraus diese Listbox füllen?
wenn ichs so mache:
TForm1.ListBox1.Items.Add('aus rs232');
kommt die Fehlermeldung:
unit1.pas(78,21) Error: Only class methods can be referred with class references
und so:
ListBox1.Items.Add('aus rs232');
kommt:
unit1.pas(78,13) Error: Identifier not found "ListBox1"
Muß ich meine procedure rs232 zum Tform1 binden (was bedeutet "binden" genau?) und wenn ja wie?
wie gesagt ich hab noch nicht den Duchblick, also nicht schlagen.
Re: Probleme mit Listbox füllen aus eigene Procedure
Entweder du machst dein Procedure rs232 zur Methode von TForm oder du referenzierst in einer normalen Prozedur die Form so
Form1.ListBox1.Items.Add('aus rs232');
Also ohne T vorne dran. TForm1 ist der Typ (Klasse), Form1 die Instanz.
Form1.ListBox1.Items.Add('aus rs232');
Also ohne T vorne dran. TForm1 ist der Typ (Klasse), Form1 die Instanz.
-
- Beiträge: 145
- Registriert: So 22. Mär 2009, 07:48
- OS, Lazarus, FPC: WIN 11 (momentan )
- CPU-Target: 64 und 32Bit
- Wohnort: Hessen
- Kontaktdaten:
Re: Probleme mit Listbox füllen aus eigene Procedure
Hallo Stevensen,
ich gehe mal davon aus, dass deine rs232 prozedur in einem anderen Fenster Liegt.
Wie auch immer, kannst Du nicht
aufrufen, da TForm1
die Klasse referenziert
Du kannst jedoch problemlos
aufrufen.
Mit freundlichem Gruß
Ralph
ich gehe mal davon aus, dass deine rs232 prozedur in einem anderen Fenster Liegt.
Wie auch immer, kannst Du nicht
Code: Alles auswählen
TForm1.ListBox1.Items.Add('aus rs232');
Code: Alles auswählen
TForm1 = class(TForm)...
Du kannst jedoch problemlos
Code: Alles auswählen
TForm1 = class(TForm)...
...
var
Form1: TForm1; //ist bei Dir sicher so vorhanden
...
Form1.ListBox1.Items.Add('aus rs232'); // Versuchs mal so
Mit freundlichem Gruß
Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.
Re: Probleme mit Listbox füllen aus eigene Procedure
@Ralph59: Darf ich fragen, warum du jetzt nochmal das exakt gleiche wie ich schreibst?
Mir kommt's manchmal vor, alles wären meine Beiträge für andere unsichtbar....
Mir kommt's manchmal vor, alles wären meine Beiträge für andere unsichtbar....

-
- Beiträge: 145
- Registriert: So 22. Mär 2009, 07:48
- OS, Lazarus, FPC: WIN 11 (momentan )
- CPU-Target: 64 und 32Bit
- Wohnort: Hessen
- Kontaktdaten:
Re: Probleme mit Listbox füllen aus eigene Procedure
@Teo,
ich habe gedacht, vieleicht versteht er es anhand eines kleinen Beispiels besser
Sorry, war das falsch?
Mit freundlichem Gruß
Ralph
ich habe gedacht, vieleicht versteht er es anhand eines kleinen Beispiels besser

Sorry, war das falsch?
Mit freundlichem Gruß
Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.
Re: Probleme mit Listbox füllen aus eigene Procedure
Schon OK, ich sah nur keinen grossen Unterschied. Das Beispiel bzw. die Lösung hatte ich ja auch schon gepostet:Ralph59 hat geschrieben:@Teo,
ich habe gedacht, vieleicht versteht er es anhand eines kleinen Beispiels besser![]()
Sorry, war das falsch?
Form1.ListBox1.Items.Add('aus rs232');
Re: Probleme mit Listbox füllen aus eigene Procedure
Hey ,
danke es klappt natürlich. Ich habs soweit verstanden, muß mir die aber Sache mit den Klassen etc noch mal richtig reinziehen.
Also Danke an alle, und nicht schlagen, auch nicht untereinander.
danke es klappt natürlich. Ich habs soweit verstanden, muß mir die aber Sache mit den Klassen etc noch mal richtig reinziehen.
Also Danke an alle, und nicht schlagen, auch nicht untereinander.
Re: Probleme mit Listbox füllen aus eigene Procedure
http://www.delphi-treff.de/tutorials/ob ... rs/page/8/" onclick="window.open(this.href);return false;stevensen hat geschrieben:muß mir die aber Sache mit den Klassen etc noch mal richtig reinziehen.
-
- Beiträge: 145
- Registriert: So 22. Mär 2009, 07:48
- OS, Lazarus, FPC: WIN 11 (momentan )
- CPU-Target: 64 und 32Bit
- Wohnort: Hessen
- Kontaktdaten:
Re: Probleme mit Listbox füllen aus eigene Procedure
@theo,
sehr schöner Link, ist auch was für einen Anfänger wie mich.
Mit freundlichem Gruß
Ralph
sehr schöner Link, ist auch was für einen Anfänger wie mich.
Mit freundlichem Gruß
Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.
-
- Beiträge: 688
- Registriert: Mi 3. Okt 2007, 21:00
- OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
- CPU-Target: x86_64
Re: Probleme mit Listbox füllen aus eigene Procedure
Darf ich fragen, warum ihr gerade Pascal mit Lazarus lernt? Freiwillig (selbst) oder in der Schule? (Es wäre klasse, wenn in Schulen jetzt auch Lazarus verwendet werden würde! Momentan sind da noch Delphi und Java sehr dominant)
-
- Beiträge: 145
- Registriert: So 22. Mär 2009, 07:48
- OS, Lazarus, FPC: WIN 11 (momentan )
- CPU-Target: 64 und 32Bit
- Wohnort: Hessen
- Kontaktdaten:
Re: Probleme mit Listbox füllen aus eigene Procedure
Hallo Tarigon,
warum verwendet man Lazarus als IDE und das auch noch freiwillig?
Kann ich Dir nicht sagen, da gibt es sicher 1000 Gründe, vielleicht möchte man nicht unbedingt mit MS Produkten arbeiten.
Oder man möchte Platformübergreifend arbeiten.
aber zu
hier ein Link: http://www.lazarusforum.de/viewtopic.ph ... 664#p29533
Mit freundlichem Gruß
Ralph
warum verwendet man Lazarus als IDE und das auch noch freiwillig?
Kann ich Dir nicht sagen, da gibt es sicher 1000 Gründe, vielleicht möchte man nicht unbedingt mit MS Produkten arbeiten.
Oder man möchte Platformübergreifend arbeiten.
aber zu
Code: Alles auswählen
(Es wäre klasse, wenn in Schulen jetzt auch Lazarus verwendet werden würde! Momentan sind da noch Delphi und Java sehr dominant)
Mit freundlichem Gruß
Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.
-
- Beiträge: 688
- Registriert: Mi 3. Okt 2007, 21:00
- OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
- CPU-Target: x86_64
Re: Probleme mit Listbox füllen aus eigene Procedure
Ja, den Thread kenne ich... Ein "Praxisbeispiel" wäre aber schon toll gewesen!
Delphi könnte locker mit Sprachen wir Python mithalten, wenn es schon früher so Platformunabhängig wie Lazarus (oder Java) gewesen wäre. (<- Tippe ich mal, selbst neue Sprachen wie z.B. Ruby haben ja eine hohe Akzeptanz)
Delphi könnte locker mit Sprachen wir Python mithalten, wenn es schon früher so Platformunabhängig wie Lazarus (oder Java) gewesen wäre. (<- Tippe ich mal, selbst neue Sprachen wie z.B. Ruby haben ja eine hohe Akzeptanz)