Seite 1 von 1

Raspberry Pi - NextIPAddress() funktioniert nicht

Verfasst: 12.09.2022 08:29
von pickelrobert

Code: Alles auswählen

Procedure ErmitteleIPAdressen()
  
  Protected lokale_ip.l=0
  
  If ExamineIPAddresses()
     Repeat
       lokale_ip = NextIPAddress()	;<--- Zeile 85
       If lokale_ip
          AddGadgetItem(#lstIP,-1,IPString(lokale_ip))
      EndIf
     Until lokale_ip=0
  EndIf
  
EndProcedure
produziert den Fehler

Code: Alles auswählen

[08:08:40] [COMPILER] Line 111: Warning: Deprecated function 'InitNetwork()' used.
[08:08:41] Compilation succeeded with 1 warning(s).
[08:08:41] Waiting for executable to start...
[08:08:41] Executable type: Linux  (32bit, Unicode)
[08:08:41] Executable started.
[08:08:42] [ERROR] server.pb (Line: 85)
[08:08:42] [ERROR] Invalid memory access.
[08:08:50] The Program was killed.
Klappt auch nicht als 'su'.

Re: Raspberry Pi - NextIPAddress() funktioniert nicht

Verfasst: 12.09.2022 10:54
von mk-soft
Auch wenn es bei mir Arm 64 ist ...

Warnung: InitNetwork ist nicht mehr erforderlich

Der Fehler muss wo anders liegen.

Läuft der Server im Thread ?.
Man darf keine Gadget Funktionen aus Threads ausführen. (Verwende PostEvent oder Modul ThreadToGUI)

Code: Alles auswählen

Procedure ErmitteleIPAdressen()
  
  Protected lokale_ip.l=0
  
  If ExamineIPAddresses()
     Repeat
       lokale_ip = NextIPAddress()	;<--- Zeile 85
       If lokale_ip
          Debug IPString(lokale_ip)
      EndIf
     Until lokale_ip=0
  EndIf
  
EndProcedure

ErmitteleIPAdressen()
Bei Verwendung von Threads auch nicht die Compiler-Option ThreadSafe vergessen.

Re: Raspberry Pi - NextIPAddress() funktioniert nicht

Verfasst: 12.09.2022 11:24
von pickelrobert
Es funktioniert leider überhaupt nicht.

Code: Alles auswählen

1  lokale_ip.l=0
2  
3  If ExamineIPAddresses()
4     Repeat
5       lokale_ip = NextIPAddress()
6       If lokale_ip
7          Debug IPString(lokale_ip)
8      EndIf
9     Until lokale_ip=0
10  EndIf
11
12  End
Hier die Fehlermeldung:

Code: Alles auswählen

[11:16:15] Waiting for executable to start...
[11:16:15] Executable type: Linux  (32bit, Unicode)
[11:16:15] Executable started.
[11:16:16] [ERROR] server.pb (Line: 5)
[11:16:16] [ERROR] Invalid memory access.

Re: Raspberry Pi - NextIPAddress() funktioniert nicht

Verfasst: 12.09.2022 11:46
von mk-soft
Ich habe es jetzt auf Arm32 auch mal getestet.
Hier funktioniert es

PB v6.00 LTS
HW: Raspberry PI 4
OS: Debian 11 (Linux raspberrypi 5.15.61-v7l+ #1579 SMP Fri Aug 26 11:13:03 BST 2022 armv7l GNU/Linux)

Re: Raspberry Pi - NextIPAddress() funktioniert nicht

Verfasst: 12.09.2022 13:12
von mk-soft
Habe auch mal die Mühe gemacht Debian 10 (Buster) zu installieren.

Auch hier funtioniert dieses. Es muss an deinen System oder Installation liegen.

Re: Raspberry Pi - NextIPAddress() funktioniert nicht

Verfasst: 12.09.2022 17:45
von pickelrobert
Danke. Bin jetzt auch ein wenig schlauer.

Hatte nun doch meinen PI 400 wieder rausgekramt. Da funktioniert es auch.

Auf dem PI 4 B, welchen ich bis jetzt benutzt habe, scheint also irgendwas nicht zu stimmen.

Re: Raspberry Pi - NextIPAddress() funktioniert nicht

Verfasst: 12.09.2022 19:22
von mk-soft
Ein guter Zeitpunkt auf Linux 11 (Bullseye Arm64) umzusteigen.