Lazarus 1.0 (FPC 2.6.0) Sockets: Keine Function Listen mehr?

Alle Fragen zur Netzwerkkommunikation
Antworten
Thandor
Beiträge: 153
Registriert: Sa 30. Jan 2010, 18:17
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 3.0 mit FPC 3.2.2 (32Bit + 64bit)
CPU-Target: 64Bit
Wohnort: Berlin

Lazarus 1.0 (FPC 2.6.0) Sockets: Keine Function Listen mehr?

Beitrag von Thandor »

Hi,

ich habe mir nun Lazarus 1.0 installiert, nur leider findet er jetzt die Funktionen Listen, Socket, Bind nicht mehr.
Gibt es dafür Ersatz, die auch die gleichen Parameter und Rückgabeltypen haben? Ich habe nämlich keine Lust meine Server und Clients neu zu erfinden :x
Oder muss ich außer der Sockets noch andere Units einbinden?

Eingebunden habe ich folgende Units:

Code: Alles auswählen

 
Uses Classes, Sockets; 
 


MfG
Thandor

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Lazarus 1.0 (FPC 2.6.0) Sockets: Keine Function Listen m

Beitrag von MAC »

Bei mir sind die da 1.1 FPC 2.6.1 SVN 39279 Win32


Code: Alles auswählen

Function Listen(Sock,MaxConnect:Longint):Boolean;
 
begin
  Listen:=fplisten(Sock,MaxConnect)=0;
end;   


probiers mal mit der Stabilen 1.0.2 version.
ftp://freepascal.dfmk.hu/pub/lazarus/re ... s%201.0.2/

Code: Alles auswählen

Signatur := nil;

Thandor
Beiträge: 153
Registriert: Sa 30. Jan 2010, 18:17
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 3.0 mit FPC 3.2.2 (32Bit + 64bit)
CPU-Target: 64Bit
Wohnort: Berlin

Re: Lazarus 1.0 (FPC 2.6.0) Sockets: Keine Function Listen m

Beitrag von Thandor »

Hi,

danke für die Antwort, aber ich habe dann doch die 32-Bit-Version genommen, da meine Graphikunit nur mit 32-Bit läuft. Jedoch vergeblich, auch hier bekomme ich "Identifier not found ..."
Aber ich habe herausgefunden, das es nicht an Lazarus zu liegen scheint. Wenn ich statt der 2.6.0er FPC Version, die 2.2.4er verwende funktioniert es.

MfG
Thandor

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Lazarus 1.0 (FPC 2.6.0) Sockets: Keine Function Listen m

Beitrag von MAC »

Ok, wie hast du auf Version 2.2.4 umgestellt ?
Hast du nochmal die alte version installiert ?

Wenn ja, geh mal in Lazarus >> Werkzeuge >> Einstellungen und schau auf der ersten Seite "Compilerdateiname und Pfad zum Make-Programm an. Wenn hier noch "2.2.4" im Pfad sthet steht solltest du es mal in 2.6.0 ändern. vlt findet Lazarus die Dateien nicht richtig.
Alternativ könnte es auch Helfen, Lazarus komplett zu deinstallieren und bei der Installation anzugeben das alle Einstellungen vorher gelöscht werden sollen...

Code: Alles auswählen

Signatur := nil;

Thandor
Beiträge: 153
Registriert: Sa 30. Jan 2010, 18:17
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 3.0 mit FPC 3.2.2 (32Bit + 64bit)
CPU-Target: 64Bit
Wohnort: Berlin

Re: Lazarus 1.0 (FPC 2.6.0) Sockets: Keine Function Listen m

Beitrag von Thandor »

Hi,

Ich habe die alte Installation mir gesichert gehabt und habe aus dieser den Ordner \lazarus\fpc\2.2.4 in die den meine neue Installation kopiert und den 2.6.0er ein wenig umbenannt. Beim starten hat dann lazarus sich für den 2.2.4er konfiguriert. Und mit dieser Konfiguration läuft es.

Ich habe jetzt mal die Version "lazarus-1.0.2-fpc-2.6.0-win32" auf eine Virtuelle Maschine installiert, die noch nie Lazarus oder FPC gesehen hat. Leider immer noch "Identifier not found "..."". :cry:
Dann habe ich die "lazarus-1.0.2-fpc-2.6.0-win64" auf diese VM installiert, die 32bit deinstallieren lassen und alle Konfigurationen löschen ausgewählt. Immer noch kein Erfolg.

Ich glaube ich werde dann wohl nun bei der Lazarus-Version 1.0.2 und der FPC 2.2.4 bleiben... :idea:

MfG
Thandor

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

Re: Lazarus 1.0 (FPC 2.6.0) Sockets: Keine Function Listen m

Beitrag von theo »

Und warum schreibst du deinen Code nicht auf fpListen um? Das tut ja das gleiche.
Oder verwende gleich Synapse http://synapse.ararat.cz

Thandor
Beiträge: 153
Registriert: Sa 30. Jan 2010, 18:17
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 3.0 mit FPC 3.2.2 (32Bit + 64bit)
CPU-Target: 64Bit
Wohnort: Berlin

Re: Lazarus 1.0 (FPC 2.6.0) Sockets: Keine Function Listen m

Beitrag von Thandor »

theo hat geschrieben:Und warum schreibst du deinen Code nicht auf fpListen um? Das tut ja das gleiche.

Ja, aber nicht alle fp... Funktionen scheinen von den Parametern zu den herkömmlichen Funktionen identisch/kompatibel zu sein. Und leider sind die Dokumentationen, die ich bisher gefunden habe, sehr lückenhaft.

theo hat geschrieben:Oder verwende gleich Synapse http://synapse.ararat.cz

Mir ist es wichtig mit den Sockets auf unterster Ebene zu Arbeiten.

MfG
Thandor

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

Re: Lazarus 1.0 (FPC 2.6.0) Sockets: Keine Function Listen m

Beitrag von theo »

Thandor hat geschrieben:Ja, aber nicht alle fp... Funktionen scheinen von den Parametern zu den herkömmlichen Funktionen identisch/kompatibel zu sein.


Welche denn?
http://wiki.freepascal.org/User_Changes ... en_removed

Thandor
Beiträge: 153
Registriert: Sa 30. Jan 2010, 18:17
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 3.0 mit FPC 3.2.2 (32Bit + 64bit)
CPU-Target: 64Bit
Wohnort: Berlin

Re: Lazarus 1.0 (FPC 2.6.0) Sockets: Keine Function Listen m

Beitrag von Thandor »

theo hat geschrieben:Welche denn?


Also bei
- fpListen ist der Rückgabewert unterschiedlich zu Listen, bei Listen ein Boolean und fplisten ein cint.
- fpBind das gleiche.
- bei fpAccept (cint, psockaddr, pSockLen) : cint; sind die Parameter unterschiedlich zu accept (LongInt, Var TInetSockAddr, var file, var file) : Boolean.
- bei fpConnect das gleiche.

wobei der Rückgabewert von fpBind und fbListen jetz kein Drama ist, das lässt sich ja ganz gut ändern, aber Boolean wäre eleganter.

MfG
Thandor

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

Re: Lazarus 1.0 (FPC 2.6.0) Sockets: Keine Function Listen m

Beitrag von theo »

Das alte Zeug ist ja noch da. Schau einfach wie es dort gemacht ist, oder baue die RTL mit dem define "legacysocket".

Guckst du: http://svn.freepascal.org/cgi-bin/viewv ... iew=markup

Thandor
Beiträge: 153
Registriert: Sa 30. Jan 2010, 18:17
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 3.0 mit FPC 3.2.2 (32Bit + 64bit)
CPU-Target: 64Bit
Wohnort: Berlin

Re: Lazarus 1.0 (FPC 2.6.0) Sockets: Keine Function Listen m

Beitrag von Thandor »

Danke für eure Hilfe.

Ich habe jetzt die Bind, Socket und Listen gegen die FPBind, FPSocket und FPListen getauscht.

MfG
Thandor

Antworten