Tlntsend -Brauch hilfe

Alle Fragen zur Netzwerkkommunikation
Antworten
Flashbanger
Beiträge: 94
Registriert: Mi 28. Mär 2007, 22:01
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Tlntsend -Brauch hilfe

Beitrag von Flashbanger »

hallo ich hab ein kleines problem beim kompiliern.

Code: Alles auswählen

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
  StdCtrls, tlntsend, Spin;   
 
 
.......
 
procedure TForm1.Button1Click(Sender: TObject);
var
  FTargetHost: String;
  FTermType: String;
  FTargetPort: LongInt;
begin
FTargetHost:=Edit1.text;
FTargetPort :=SpinEdit1.Value;
FTermType := 'test';
FSock.Connect(FTargetHost, FTargetPort);
 
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  FSock.CloseSocket;
end;



Ich weis nicht was in den type-abteil kommt.




DDW.pas(44,1) Error: Identifier not found "FSock"
DDW.pas(44,14) Error: Illegal expression
DDW.pas(44,14) Fatal: Syntax error, ";" expected but "(" found



Kann mir jemand helfen??

MfG Flashbanger

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Es steht doch alles in der Fehlermeldung, wo hast du denn jetzt genau Probleme ? ich musste dir schon letztes mal maßgeschneiderten Code liefern (in der Delphi-Praxis) wie lang soll das jetzt so gehen ? Sag bitte was du spezifisch an der Fehlermeldung nicht verstehst, bzw kopier da wo du den Code herhast doch dann auch alles.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Flashbanger
Beiträge: 94
Registriert: Mi 28. Mär 2007, 22:01
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von Flashbanger »

Ja, ser ist ja auch nicht deklariert. Aber auch das kann Lazarus für dich machen setz einfach den Cursor vor oder in das erste vorkommen von ser und drück Strg+Umschalt+C.


Passiert NIX

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ja, der compiler kann auch nicht wissen was das für ein typ ist, da die Klasse nirgends erstellt wird.

Da muss irgendwo stehn FSock := T*Sock.Create(*);

Du solltest dir mal ein pascal tuturial zuherzen nehmen anstatt gleich zu versuchen von 0 auf 100 irgendwelche Spacigen Applikationen zu schreiben die Sprachgrundlagen sollte man kennen.

Und wie schon gesagt kopier alles wenn du schon was irgendwoher kopierst.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Flashbanger
Beiträge: 94
Registriert: Mi 28. Mär 2007, 22:01
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von Flashbanger »

In der tlntsend steht FSock: TTCPBlockSocket doch wenn ich das verwende fragt er was TTCPBlockSocket sein soll. Das dreht sich alles im kreis.......


Ich hab mir schon einige tutorials angeschaut.....

Aber entweder sind sie auf Englsich(meine lieblingssprache :lol: ) oder sie sind für delphi und da brauch man son zeig wie tlnt nicht weil es andere berreits fertigige komponenten gibt.

tutorials zu lazarus sind entweder nur ein oder 2 seiten lang oder auch auf Englisch

Manche tutorials fangen auch zu kindisch an. So weis ich aus meiner basic-zeit was der unterschied zwischen byte und interger ist.


MfG Flashbanger

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Naja, irgendwie muss ja auch nen Tut anfangen ;).

Aber wie Christian schon sagt, wo steht da dein Create?
Bzw. zeig mal die ganze Unit und nicht ohne den Kopf.
Johannes

Flashbanger
Beiträge: 94
Registriert: Mi 28. Mär 2007, 22:01
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von Flashbanger »

Code: Alles auswählen

unit DDW;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
  StdCtrls, tlntsend, Spin;
 
type
  { TForm1 }
 
 
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    SpinEdit1: TSpinEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure SpinEdit1Change(Sender: TObject);
  private
    { private declarations }
  public
 
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
 
var
  FTargetHost: String;
  FTermType: String;
  FTargetPort: LongInt;
begin
FTargetHost:=Edit1.text;
FTargetPort :=SpinEdit1.Value;
FTermType := 'test';
FSock.Connect(FTargetHost, FTargetPort);
 
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  FSock.CloseSocket;
end;
 
 
initialization
  {$I ddw.lrs}
 
end.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

... doch wenn ich das verwende fragt er was TTCPBlockSocket sein soll. Das dreht sich alles im kreis.......


Ja, weil die entsprechende Unit nicht eingebunden ist.
Delphi Tuturials kannst du auch problemlos übertragen... wirst halt nur in der IDE nicht unbedingt alles an der selben Stelle finden aber fast.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Beitrag von theo »

Was hat denn das noch mit Telnet zu tun?

Ich hab dir doch gestern im anderen Thread noch nen Starthilfe-Link gemacht.
http://sourceforge.net/mailarchive/mess ... ist.mlp.cz

Vielleicht schaust du dir das doch mal an?

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Objekte kapseln sowohl Metoden als such andere Objekte. Wenn Du also innerhalb eines Formulars(das ist auch ein Objekt) ein Objekt vom Typ:

MyObject

aufrufen willst, dann muss das auch deklariert sein. Normalerweise daklariert man im "private":

FMyObjekt: TMyObject;

und bekommt den Zugriff. Das die entsprechende Unit in diesem Fall im Interface eigebunden sein muß versteht sich von selbst. Wenn allerdings das Objekt nicht per "Drag and Drop" auf dem Formular liegt, dann wird für das Formuler auch ein "constructor Create(AOwner: TComponent); override;" fällig. Dort mußt Du das Objekt initialisieren, mit:

FMyObject:= TMyObject.Create(Self);

Die Angabe von "Self" sorgt dafür, daß das Objekt freigegeben wird, wenn der Besitzer, also das Formular, vernichtet wird. Das kann aber im destructor auch gesondert passieren.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Also schnuller ich denke du wirfst hier erstens n paar Informationsbrocken durcheinander er will nämlich keine Klasse in eriner Klasse erstellen sondern simpel ein Objekt in einem Formular. Und dann ist das auch etwas kurz gefasst für das was ich jetzt mal daraus ersehe was du sagen wolltest.

Hier fehlt schlicht die Variablendeklaration für das Objekt und zusätzlich noch das erstellen des Objektes.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

So, von mir und ich hoffe auch von ein paar anderen leuten brauchst du keine Antworten mehr zu erwarten, Jedenfalls nicht solange du immer in 3 Foren die selbe Frage stellst. Grundsätzlich wäre das ja nicht problematisch nur das du gar nicht lernen willst sondern nur das andere deine Probleme lösen. Du hast hier mir grundlegensten Problemen zu kämpfen der Compiler sagt dir sogar perfekt was genau falsch ist. Statt mal nachzudenken postest du einfach alle fehlermeldungen die du bekommst in mehrere Foren und wartest das jemand deine Probleme löst. Manchmal bereu ich bei solchen sachen das ich in Pascal programmiere und dann noch mit einer RAD Ide da versteh ich oft mal C programmierer die sagen erst wenn man nen Ausdruck nicht mehr in unter 10 min begreifen kann ist er richtig.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten