Probleme mit Listbox füllen aus eigene Procedure

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
stevensen
Beiträge: 16
Registriert: Fr 18. Sep 2009, 14:36

Probleme mit Listbox füllen aus eigene Procedure

Beitrag von stevensen »

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.

Benutzeravatar
theo
Beiträge: 10865
Registriert: Mo 11. Sep 2006, 19:01

Re: Probleme mit Listbox füllen aus eigene Procedure

Beitrag von theo »

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.

Ralph59
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

Beitrag von Ralph59 »

Hallo Stevensen,

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');
aufrufen, da TForm1

Code: Alles auswählen

TForm1 = class(TForm)...
die Klasse referenziert

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
aufrufen.

Mit freundlichem Gruß

Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.

Benutzeravatar
theo
Beiträge: 10865
Registriert: Mo 11. Sep 2006, 19:01

Re: Probleme mit Listbox füllen aus eigene Procedure

Beitrag von theo »

@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.... ;-)

Ralph59
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

Beitrag von Ralph59 »

@Teo,

ich habe gedacht, vieleicht versteht er es anhand eines kleinen Beispiels besser :wink:
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.

Benutzeravatar
theo
Beiträge: 10865
Registriert: Mo 11. Sep 2006, 19:01

Re: Probleme mit Listbox füllen aus eigene Procedure

Beitrag von theo »

Ralph59 hat geschrieben:@Teo,
ich habe gedacht, vieleicht versteht er es anhand eines kleinen Beispiels besser :wink:
Sorry, war das falsch?
Schon OK, ich sah nur keinen grossen Unterschied. Das Beispiel bzw. die Lösung hatte ich ja auch schon gepostet:
Form1.ListBox1.Items.Add('aus rs232');

stevensen
Beiträge: 16
Registriert: Fr 18. Sep 2009, 14:36

Re: Probleme mit Listbox füllen aus eigene Procedure

Beitrag von stevensen »

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.

Benutzeravatar
theo
Beiträge: 10865
Registriert: Mo 11. Sep 2006, 19:01

Re: Probleme mit Listbox füllen aus eigene Procedure

Beitrag von theo »

stevensen hat geschrieben:muß mir die aber Sache mit den Klassen etc noch mal richtig reinziehen.
http://www.delphi-treff.de/tutorials/ob ... rs/page/8/" onclick="window.open(this.href);return false;

Ralph59
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

Beitrag von Ralph59 »

@theo,

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.

Targion
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

Beitrag von Targion »

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)

Ralph59
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

Beitrag von Ralph59 »

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

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)
hier ein Link: http://www.lazarusforum.de/viewtopic.ph ... 664#p29533

Mit freundlichem Gruß

Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.

Targion
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

Beitrag von Targion »

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)

Antworten