Veraltete Funktion InitNetwork() in PB6

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tom42
Beiträge: 13
Registriert: 05.09.2004 03:07
Wohnort: WOB

Veraltete Funktion InitNetwork() in PB6

Beitrag von Tom42 »

Hi @All ,

Da nun PureBasic 6 raus ist gleich mal eine Frage

Code: Alles auswählen

IsNetwork=InitNetwork() 

If Not IsNetwork 
  MessageRequester("Netzwerk","Initialisierung fehlschlagen",#MB_ICONERROR)
  End 
EndIf 
If IsNetwork 
  ClientID=OpenNetworkConnection(ServerName$,#NTP_PORT,#PB_Network_UDP) 
  If Not ClientID 
    MessageRequester("Netzwerk","Netzwerk: [ "+ServerName$+" ] failed",#MB_ICONERROR) 
    End 
  Else 
    SendNetworkData(ClientID,*membuffer,#NTP_BUFFER_SIZE) 
    TimerA=ElapsedMilliseconds() ....... 
Leider bekomme ich die Warnungen „Veraltete Funktion InitNetwork() verwendet“ unter PureBasic 6.
Wie kann ich das anpassen ???

Gruß Tom

// Code-Tags hinzugefügt (Kiffi)
Benutzeravatar
helpy
Beiträge: 635
Registriert: 29.08.2004 13:29

Re: Veraltete Funktion InitNetwork() in PB6

Beitrag von helpy »

Die Verwendung von InitNetwork() ist grundsätzlich nicht mehr notwendig.
Damit bestehender Code aber weiterhin funktioniert gibt InitNetwork() den Wert 1 (<> 0) zurück!
Es wird zwar eine entsprechende Compiler-Warnung ausgegeben, aber der Code funktioniert weiterhin.

Wenn Du die Compiler-Warnung loswerden willst, aber Deinen Code nicht groß ändern möchtest, dann ändere nur die eine Zeile mit InitNetwork():

Code: Alles auswählen

IsNetwork=#True
Soll der Code abwärtskompatibel sein, aber die Compiler-Warnung soll nicht erscheinen?

Code: Alles auswählen

Define IsNetwork

CompilerIf #PB_Compiler_Version < 600
  IsNetwork = InitNetwork()
CompilerElse
  IsNetwork = #True
CompilerEndIf
Wenn der Code nur ab PB 6.00 verwendet wird, kannst noch mehr aufräumen:

Code: Alles auswählen

ClientID=OpenNetworkConnection(ServerName$,#NTP_PORT,#PB_Network_UDP)
If Not ClientID
  MessageRequester("Netzwerk","Netzwerk: [ "+ServerName$+" ] failed",#MB_ICONERROR)
  End
Else
  SendNetworkData(ClientID,*membuffer,#NTP_BUFFER_SIZE)
  TimerA=ElapsedMilliseconds()
  ;....... 
EndIf
Windows 10
PB Last Final / (Sometimes testing Beta versions)
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: Veraltete Funktion InitNetwork() in PB6

Beitrag von jacdelad »

Da kommt bei mir eine andere Frage auf: Kann/Konnte denn InitNetwork() auch fehlschlagen?
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: Veraltete Funktion InitNetwork() in PB6

Beitrag von Bisonte »

jacdelad hat geschrieben:Da kommt bei mir eine andere Frage auf: Kann/Konnte denn InitNetwork() auch fehlschlagen?
In der Theorie ja.... allerdings ist das glaube ich seit windows 98 nicht mehr passiert ;)
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: Veraltete Funktion InitNetwork() in PB6

Beitrag von jacdelad »

Aso. Na ich verhindere sowieso, dass meine Programme unter Windows XP oder älter läuft.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Benutzeravatar
sharkpeter
Beiträge: 474
Registriert: 29.08.2004 16:18
Wohnort: Dresden
Kontaktdaten:

Re: Veraltete Funktion InitNetwork() in PB6

Beitrag von sharkpeter »

Moin aus der Gruft,
jacdelad hat geschrieben: 27.06.2022 14:34 Aso. Na ich verhindere sowieso, dass meine Programme unter Windows XP oder älter läuft.
Aha, so einer bist du :lol:
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64

Nichts wissen macht nichts, sich dumm stellen aber schon.
Antworten