AMIGA-RESISTANCE

Die Projektseite für alles rund um den Amiga
Aktuelle Zeit: 28 Mär 2024, 15:04

Alle Zeiten sind UTC


 

 

 



Ein neues Thema erstellen  Auf das Thema antworten  [ 14 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 12 Apr 2018, 09:22 
Offline
User

Registriert: 05 Apr 2018, 13:36
Beiträge: 12
Postleitzahl: 50827
Land: Deutschland
Etwas kompliziert, aber ich hoffe das Problem rüber bringen zu können:

UDP Netzwerkverbindungen sind verbindungslos, d.h. das eine Verbindung in dem Sinne garnicht existiert, sondern einer sendet, und der andere antwortet wenn er denn da ist, ansonsten passiert eben nichts. Deshalb kann der Sender auch nie davon ausgehen, das irgendwas angekommen ist, sondern der empfänger muss das bestätigen.
In Hollywood gibt es dafür die Functionen "CreatUDPObjekt" was noch nichts im Netzwerk macht und dann eben SendUDPData bzw das Gegenstück ReceiveUDPData.
Soweit die Gegenstelle da ist ist auch alles wunderbar, das heisst ich bekomme entsprechend meine Antwort oder auch nicht.
Doch wenn die Gegenstelle nicht existiert bzw. dort z.B. kein TFTP-Server läuft, dann wird irgendwann das UDPObject geschlossen.
Das sieht dann so aus, das im Interpreter ein Programmabbruch mit der Meldung "object closed" kommt wenn man senden oder empfangen will.
Da ich im moment nur die Trialversion habe, weiß ich nicht was ein compiliertes Programm in diesem Fall tun würde.
Auf jeden Fall ist das Mist, es gibt auch keine Möglichkeit vorher zu prüfen ob die Gegenstelle denn da ist und auf dem Port empfangsbereit.
Mit allem anderen als Abbruch könnte ich leben, und das entsprechend handeln aber so habe ich keine Möglichkeit gefunden den Programmabbruch zu verhindern.
Irgendjemand eine Idee oder ist es einfach nur ein Hollywood-Bug ?


Nach oben
   
 Betreff des Beitrags: Re: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 12 Apr 2018, 18:28 
Offline
Administrator
Benutzeravatar

Registriert: 30 Aug 2005, 19:42
Beiträge: 5303
Postleitzahl: 46047
Land: Deutschland
Wohnort: 46047 Oberhausen
Hi Dieter
Ich hab grad mal ins Handbuch reingeschaut.
Unter GetLocalIP und GetLocalPort gibt es noch das
@item #NETWORKUDP:
Abfrage des lokalen Ports eines UDP-Objekts, ...

und da gibt es noch
@item OnReceiveUDPData:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn neue Daten von einer vorhandenen
UDP-Verbindung empfangen wurden. Die Funktion wird eine Nachricht als Parameter 1 mit den
folgenden Feldern übergeben:
...

Und als Fehler sollte da eigendlich kommen:
@item #ERR_FINDUDPOBJECT
Konnte UDP-Objekt %ld nicht finden! (1429)
Wenn ich das Handbuch so richtig interpretiere.

Hoffe das hilft dir ein bischen weiter.

_________________
Gruß Helmut
Amiga 2000, Amiga 500, Amiga One XE, Amiga One X5000


Nach oben
   
 Betreff des Beitrags: Re: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 12 Apr 2018, 18:53 
Offline
User

Registriert: 05 Apr 2018, 13:36
Beiträge: 12
Postleitzahl: 50827
Land: Deutschland
Das locale port ist in dem Fall uninteressant und das remoteport kann ich eben nicht abfragen.

Zum zweiten Punkt, das ist ja soweit dasselbe wie receiveudpdata nur als message, daher ist dort das problem dasselbe, wenn Hollywood das Objekt einfach schliesst.
Werde das aber mal testen.
Ich denke das noch niemand mit dieser function von Hollywood gearbeitet hat und das ein Fehler ist da bei einem udp Protokoll kein timeout oder irgendwas die Verbindung automatisch schliesst.


Nach oben
   
 Betreff des Beitrags: Re: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 17 Apr 2018, 19:20 
Offline
User

Registriert: 05 Apr 2018, 13:36
Beiträge: 12
Postleitzahl: 50827
Land: Deutschland
Habe das getestet und läuft soweit.
Was heisst das Programm beendet sich zumindest nicht weil ich ja nur dann daren abhole wenn welche ankommen.
Ist natürlich erheblich langsamer als vorher.
Da ich auch nicht prüfen kann ob das udpObjekt geschlossen wurde oder noch offen ist, gehe ich einfach nach einer zeit ohnecdaten davon aus das es so ist.
Scheinbar interessiert es openudpobjekt auch nicht ob das objekt mit der id schon offen ist, genauso wie es den closeudpobject nicht interessiert ob das Objekt offen war.

Gut soweit sind meine Tests mit Hollywood als erfolgreiche einzustufen.
Nun würde mich natürlich interessieren wie groß die executables denn würden.
Da ich zum testen die trialversion benutzt habe.
Sollten diese im Rahmen sein würde ich mir Hollywood ernsthaft zulegen um damit sinnvolles zu proggen.
Kann das nal jemand comilieren und mir die grösse der dateien für die diversen betriebssysteme durchgeben ?
Noch eine Frage: kann externer Code eingebettet werden ? Z. B. Assembler oder c- objectcode ( ist dann natürlich nicht mehr Betriebssystemneutral) ?


Nach oben
   
 Betreff des Beitrags: Re: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 18 Apr 2018, 10:45 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Salli DieterG

Schön, dass Du ein Programm erstellt hast. Du kannst Dein Script an

handbuch
@
gmx
.ch

schicken. Dann kann ich mal die ganze Sache compilieren und Dir
mitteilen, wie gross die Dateien werden. Allerdings habe ein wenig
Geduld, denn in ein paar Minuten darf ich in den "Stollen" gehen.

Das einbetten von externem Code wie C, Pascal, Basic, Assembler etc.
sowie der Zugriff auf extene Bibliotheken ist mit Hollywood nicht möglich.
Ob es möglich ist, die Plugin-Schnittstelle für so etwas zu "missbrauchen"?
Keine Ahnung.

Falls Du Dich entschliesst, Hollywood zuzulegen, dann hast Du die Möglichkeit,
Andreas Deine Wünsche und Verbesserungsvorschläge zukommen zu lassen.
Vielleicht kann er dann etwas einbauen, damit Du z.B. überprüfen kannst,
ob das udpObjekt geschlossen wurde oder nicht.

So, jetzt muss ich.

Griessli
Tipsi


Nach oben
   
 Betreff des Beitrags: Re: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 18 Apr 2018, 13:40 
Offline
User

Registriert: 05 Apr 2018, 13:36
Beiträge: 12
Postleitzahl: 50827
Land: Deutschland
Werde das gleich mal senden.
Würde es auch hier hochladen, da ich Anfänger in Hollywood programmieren bin würde mich interessieren ob jemand noch Verbesserungen oder schönere lösungen hat.
Also ob die Art wie ich das Programm gemacht habe ein guter oder schlechter Stil ist usw.
Gibt es fie Möglichkeit?


Nach oben
   
 Betreff des Beitrags: Re: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 18 Apr 2018, 21:30 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Salli DieterG

Ich wollte gerade meinen Amiga starten und Dein Programm
compilieren, als ich feststellte, dass noch nichts angekommen
ist. Entweder hast Du es noch nicht abgeschickt, es macht
gerade einen Umweg über Grönland oder es ist irgendwo
im Netz verschwunden.

Hhm, Codes wurden bis jetzt direkt in den Thread geschrieben.
Du musst einfach zuerst oben den Knopf "Code" drücken (zwischen
"Quote" und "List") und anschliessend Deinen Code dazwischen
einfügen.

Wie und wo man den code als Datei hochladen kann, muss Dir
HelmutH erklären. Es ist grundsätzlich möglich, aber unter welchem
Bereich kann ich Dir nicht sagen.

Griessli
Tipsi


Nach oben
   
 Betreff des Beitrags: Re: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 19 Apr 2018, 08:22 
Offline
User

Registriert: 05 Apr 2018, 13:36
Beiträge: 12
Postleitzahl: 50827
Land: Deutschland
/****************************************************************
**                                                             **
** Name:        DieterConn                                     **
** Author:      Dieter Groppé                                  **
** Version:     0.6                                            **
** Date:        11.04.18                                       **
** Interpreter: Hollywood 7.1                                  **
** Licence:     Nothing, only Testtool                         **
** Function:    Try some TCP and UDP connections with Hollywood**
**              and some gui functions                         **
**                                                             **
** History:                                                    **
**                                                             **
** 0.1: (19.03.18)                                             **
** - first try to get anything and show it                     **
** 0.2: (20.03.18-04.04.18)                                    **
** - try a little with TFTP, get my file per tftp only trivial **
** 0.3: (05.04.18-09.04.18)                                    **
** - add a GUI for parameters and outputs  	               **
** 0.4: (11.18-11.04.18)                                       **
** - some finetunig in GUI and program                         **
** - add blockchecking (for bad tftp-server implementation)    **
** 0.6: (17.04.18-17.04.18)                                    **
** - rewrite to get receiveudpmsg                              **
**                                                             **
****************************************************************/

@VERSION 5,0
@APPTITLE "DieterConn"

data$ = "gez.txt\0"
savename$="" .. data$
ipadress$ = "127.0.0.1"	/*"192.168.1.111"*/
RRQ = 1	
WRQ = 2
ACK = 4
Null$ = "\0"
Ackn$ = Null$ .. ByteChr(ACK)
TFTPMODE$ = "NETASCII\0"
TFTPrequest$ = Null$ .. ByteChr(RRQ) .. data$ .. TFTPMODE$
button$ = {}
blockis = Nil
open = False


@MENU 1, { 
    {"File", {
	{"Get TFTP file...", ID = "get", Hotkey = "G"},    
	{"Save file...", ID = "save", Hotkey = "S"},
	{"Quit", ID = "quit", Hotkey = "Q"}}},

    {"?", {
	{"About...", ID = "about"}}}
    }

@DISPLAY {Menu = 1, Title = "DieterConn", COLOR=$cFcFcF}


 
Function printstatus()
	DebugPrint (temp$)
	  SetFillStyle(#FILLCOLOR) 
	  Box(10, 450, 600, 20, $CfCfCf)
	  TextOut (10, 450, temp$)
	  /*CreateTextObject(1, temp$)
	  DisplayTextObject(1, 10,250)
	  FreeTextObject(1)*/
	  /*Locate (10,250)
	  Print (temp$)*/
EndFunction

Function NetConn()
	  a$ = ""
	  CreateUDPObject(1)
	  open = True
	  DebugPrint ( "Ipadress vorher =", ipadress$)
	  ;ipadress$ = ToIP(ipadress$) PRODUZIERT nur FEHLER !
	  DebugPrint ( "Ipadress nachher =", ipadress$)

	  SendUDPData(1, TFTPrequest$, ipadress$ , 69)

	  DebugPrint ( Ackn$ , MidStr(trans$,2,2,#ENCODING_RAW) ,"Ipadress=", ipadress$ ,"port:", portnr)
EndFunction	   
		
Function closeconn()
	CloseUDPObject(1)
	open = False
	trans$=""
	blockis = Nil
	printstatus
EndFunction

Function SaveFile()
	OpenFile(1, savename$, #MODE_WRITE )
	  WriteString(1, a$ , 0, #ENCODING_RAW)
	CloseFile(1)
EndFunction

Function MakeGagdet(typ,xc,yc,br,wi,Text$)
	
    ID = MakeButton(Nil, #SIMPLEBUTTON, xc, yc, br, wi, buttonevents)
    button$[ID] = LeftStr(Text$ .. "   ",4)
    Box(xc, yc, br, wi, #BLACK)
    Box(xc+1, yc+1, br, wi, #WHITE)
    If typ = 2 Then yc = yc - 20
    TextOut(xc+2, yc+5, Text$) 

EndFunction

Function setfilename()
	DebugPrint (savename$)
	If StrLen(savename$) <> 0 
	  SetFillStyle(#FILLCOLOR)
	  Box(12, fny+6, 346, 19, $CfCfCf)
	  TextOut(12, fny+6, savename$)
	EndIf
EndFunction
	 
Function setipadress()
	DebugPrint (ipadress$)
	If StrLen(ipadress$) <> 0 
	  SetFillStyle(#FILLCOLOR)
	  Box(12, ipy+5, 346, 19, $CfCfCf)
	  TextOut(12, ipy+5, ipadress$)
	EndIf
EndFunction

Function setdata()
	DebugPrint (data$)
	If StrLen(data$) <> 0 
	  SetFillStyle(#FILLCOLOR)
	  Box(12, day+4, 346, 19, $CfCfCf)
	  TextOut(12, day+4, data$)
	EndIf
EndFunction
	
/*
** Event callback that handles menu selections
*/

Function p_Receive(msg)
	If blockis=Nil Then blockis=$0001	
	   
	  trans$, ipadress2$, portnr = ReceiveUDPData(1)
	  If portnr <> Nil
	  
	    DebugPrint ( Ackn$ , MidStr(trans$,2,2,#ENCODING_RAW) ,"Ipadress=", ipadress2$ ,"port:", portnr)
	
	    blockget=ByteAsc(MidStr(trans$,2,1,#ENCODING_RAW))*256+ByteAsc(MidStr(trans$,3,1,#ENCODING_RAW))
	  
	    If (trans$<>"" And blockget = blockis)
		SendUDPData(1, Ackn$ .. MidStr(trans$,2,2,#ENCODING_RAW) , ipadress2$ , portnr) 
		a$ = a$ .. MidStr(trans$,4,-1,#ENCODING_RAW )
		blockis = blockis + 1
		temp$="Anzahl Bytes/Block: "  .. StrLen(trans$,#ENCODING_RAW) .. "  akt.Block: " .. blockget .. "   Insgesamt Bytes:  " .. StrLen(a$,#ENCODING_RAW)
		printstatus 
	    EndIf  
	   EndIf
	 If StrLen(trans$,#ENCODING_RAW) < 516 
	  CloseUDPObject(1)
	  trans$=""
	  blockis = Nil
	  printstatus
	EndIf
	
EndFunction	

Function p_MenuFunc(msg)
	Switch msg.action
	Case "OnMenuSelect":
		Switch msg.item
		 Case "file":
			SaveFile
		 Case "get":
			NetConn
		 Case "quit":
			End
		 Case "about"
			SystemRequest("Netzwerktests in Hollywood", "Netzwerktests in Hollywood", "O.K.")			
		EndSwitch
	EndSwitch
EndFunction		

Function p_ButtonFunc(msg)
	DebugPrint ("Button Pressed !")
	Switch button$[msg.id]
	  Case "Serv"
	    in$ = StringRequest("Server", "IP-Adress or Hostname" , ipadress$ )
	    If in$<>"" Then ipadress$ = in$
	    setipadress
	  Case "Remo"
	    in$ = StringRequest("Remotefile", "only the file to get" , data$ )
	    If in$<>"" Then data$ = in$
	    setdata
	  Case "GET "
	    NetConn
	  Case "File"
	   savename$=StringRequest("Savefile", "The complete filename (with path)" , savename$ )
	   If in$<>"" Then savename$ = in$
	   setfilename
	  Case "... " 
	   savename$ = FileRequest("Select a file")
	   setfilename
	  Case "Save"
	   SaveFile
	EndSwitch
EndFunction


SetFontColor(#BLACK) 
SetFont("Arial", 16)

;Make the Buttons and GUI

	buttonevents = {OnMouseUp = p_ButtonFunc, OnRightMouseUp = p_ButtonFunc}
	ipy=35
	day=80
	MakeGagdet(2, 10, ipy, 350, 30,"Server")
	MakeGagdet(2, 10, day, 350, 30,"Remotefile")
	MakeGagdet(1, 10, 115, 80, 30,"GET")
	
	SetFillStyle(#FILLNONE) 
	Box(5, 5, 380, 145, #GREEN)
	TextOut(10,6,"[b][u]REMOTE[b][u]",{COLOR = #GREEN})
	setipadress
	setdata
	
	SetFillStyle(#FILLNONE)
	fny=190
	MakeGagdet(2, 10,fny ,350, 30,"Filename:")
	MakeGagdet(1, 10, 230, 30, 30,"...")
	MakeGagdet(1, 10, 270, 80, 30,"Save")
	setfilename
	
	SetFillStyle(#FILLNONE) 
	Box(5, 155, 380, 160, #BLUE)
	col=COLOR=$000000FF
	TextOut(10,155,"[b][u]LOCAL[b][u]",{COLOR = #BLUE})


	InstallEventHandler({OnMenuSelect = p_MenuFunc,OnReceiveUDPData = p_Receive})

; endless loop
Repeat
	WaitEvent
Forever


Nach oben
   
 Betreff des Beitrags: Re: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 19 Apr 2018, 11:21 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Salli DieterG

Ich hab mal Dein Script compiliert und folgende Grössen
kamen dabei raus:
Amiga-68k:     2351 KB
Amiga-68k-FPU: 2288 KB
AmigaOS4:      3275 KB
AROS:          2961 KB
MorphOS:       2528 KB
WarpOS:        3204 KB

Linux-ARM:     2531 KB
Linux-PPC:     2939 KB
Linux-x64:     3111 KB
Linux-x86:     2563 KB

MacOS-PPC:     2387 KB
MacOS-x64:     3518 KB
MacOS-x86:     3375 KB

Windows-x64:   3096 KB
Windows-x86:   2506 KB

Applet:          10 KB
Auch habe ich ganz kurz Dein Script überflogen und mir
ist nur folgendes aufgefallen:

Um Fettschrift und Unterstrichen im Text aufzuheben musst
Du [/b] und [/u] setzten. Ist bei Dir nicht schlimm, da Du
ja nur ein Wort in der Zeichenkette hast. Hättest Du mehrere
Wörter benutzt, wären alle nach dem zweiten weiterhin
Fett und Unterstrichen.


Es ist für Ausenstehnde angenehmer den Code zu lesen, wenn
die von Dir erstellten Funktionen sich mit dem Namen irgendwie
von den Hollywood-Befehlen abheben. Auch wenn sich einige
Leute dagegen wehren, empfiehlt ja Andreas, vor dem Namen
ein p_ zu setzen. p_setipadress() ist klar eine vom Programmierer
erstellte Funktion. setipadress könnte auch SetIPAdress() sein
und das sieht aus wie ein Befehl von Hollywood. Und es muss nicht
unbedingt p_ sein. Es kann auch Franz_ MF_ (Meine Funktion)
oder so sein.

Man kann auch seine Funktionen in einer Tabelle verwalten. Z.B.
Fabio hat die SCUI-Lib so erstellt. Die Funktionen heissen dann
scui.Get(), scui.Set() usw. Da ist es auch klar, dass dies keine
Hollywood-Befehle sind.

Mehr konnte ich noch nicht genauer anschauen.

Griessli
Tipsi


Zuletzt geändert von Tipsi am 26 Apr 2020, 13:18, insgesamt 1-mal geändert.

Nach oben
   
 Betreff des Beitrags: Re: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 19 Apr 2018, 11:47 
Offline
User

Registriert: 05 Apr 2018, 13:36
Beiträge: 12
Postleitzahl: 50827
Land: Deutschland
Den Tipp mit der Kennzeichnung eigener Funktionen nehme ich gerne an.
Mit dem Schriftstyl habe ich dahinter falsch editiert, fehlt der backslash, gut aufgepasst
Was mich aber echt wundert ist fud Größe der Programne. Kkar gatte ich erwartet das gegenüber Assembler oder c größerer Code entsteht, aber MB habe ich nicht erwartet.
Scheinbar wird da viel reingecoded was garnicht gebraucht wird, was man auch daran sieht das die FPU Version kleiner ist obwohl ja garkeine fliesskomnaberechnungen oder ähnliches die die fpu nutzen verwendet werden.
Also um faktor 10 kleiner wäre ok aber das sind ja Hammerteile.
Warum ist dann das apk nur so klein ?
Kannst du mal ohne den debugprint compilieren, ob das was ausmacht ? Ist eine option soweit ich gelesen habe.


Nach oben
   
 Betreff des Beitrags: Re: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 19 Apr 2018, 21:51 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Salli DieterG

Naja, das ist der Hollywood-Player, der so gross ist. Darum ist
das Applet auch so klein, da hier der Player fehlt.

Aus diesem Grund hat Andreas auch angefangen, anstatt viele
neue Befehle/Funktionen in Hollywood zu integrieren, diese als
Plugin anzubieten.

Die FPU-Version ist kleiner, da Hollywood diverse Matheaufgaben
nicht selber lösen muss, da dies die FPU schon übernimmt. Darum
ist der integrierte Hollywood-Player kleiner, nicht Dein Skript.

Wenn ich ein Skript als Amiga-68k compiliere, wobei das Skript
nur eine Zeile mit dem Kommentar ;Hallo hat, ist das Programm
immer noch 2342 KB gross. Darum wirkt sich auch das Löschen
der Zeilen mit DebugPrint eigentlich nicht aus:

Amiga-68k: 2350 KB (ohne) statt 2351 KB (mit Debugprint).

Griessli
Tipsi


Nach oben
   
 Betreff des Beitrags: Re: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 20 Apr 2018, 10:27 
Offline
Administrator
Benutzeravatar

Registriert: 30 Aug 2005, 19:42
Beiträge: 5303
Postleitzahl: 46047
Land: Deutschland
Wohnort: 46047 Oberhausen
Hi Dieter
Super :!: Hast ja eine Lösung gefunden um es ans laufen zu bekommen.
Auch wenn es vielleicht noch nicht so ist wie du dir das vorstellst, aber
zumindest beendet es nicht das laufende Skript.
Ich würde es auch gerne ausprobieren, leider ist mir aber mein AOne
verreckt, sodas ich im Moment ohne Amiga da nicht mitmachen kann.

Das hochladen von Hollywood Dateien kannst du unter
:arrow: Downloads :arrow: Hollywood :arrow: Programme und dann rechts oben auf "Eine Datei hochladen".

_________________
Gruß Helmut
Amiga 2000, Amiga 500, Amiga One XE, Amiga One X5000


Nach oben
   
 Betreff des Beitrags: Re: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 20 Apr 2018, 16:20 
Offline
User

Registriert: 05 Apr 2018, 13:36
Beiträge: 12
Postleitzahl: 50827
Land: Deutschland
Das ist natürlich erschreckend.
Verstehe ich aber nicht ganz.
Hollywood compiliert die scriptsprache in ein binäres Programm, wozu dann noch den Hollywoodplayer da rein compilieren ?
Das sieht eher so aus als würde garnicht compiliert sondern nur das script mit dem player verbunden gespeichert damit dieser das in Laufzeit abarbeitet( aldo interpretiert)
Damit wäre es aber kein compilieren im eigentlichem Sinn sondern es wäre weiterhin eine Interpretersprache, der nur eben den Interpreter mitbringt.
Das wird aber anders beworben ?
Ich glaube damit ist Hollywood eher für große statt kleine Projekte geeignet.
Das ich frage mich auch, inwieweit Betriebssystem updates dann den Interpreter beeinflussen können.
Sicher auch ein Thema.
Zumindest verstehe ich jetzt warum bei Hollywood Programmen die Systemanforderungen so hoch sind, ich dachte immer die wären einfach schlecht programmiert.
Nungut, dann hat c doch viele vorteile, vor allem echte binärecodes.
Wenn da nur nicht diese nervigen variabeltypen wären.
Gibts FreeBasic nicht auch für Amiga ? Wäre dann auch eine Option, der hat auch echte compiler und gibts für fast alle Plattformen.
Ich überlege mir das mal mit Hollywood, ich fands gut das es die Möglichkeit mit der trialversion gab um das mal anzutesten.


Nach oben
   
 Betreff des Beitrags: UDP Netzwerkverbindung prüfen
BeitragVerfasst: 21 Apr 2018, 12:48 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Salli Dieter

> Im Moment bricht der ToIp immer das Programm ab, so das ich auch nicht testen
> kann was er denn machen würde wenn er funktioniert. Einzig 127.0.0.1 belässt er
> so, alles andere geht nicht.

Hollywood bietet die Möglichkeit, statt bei einem Fehler das Programm abzubrechen,
den Fehler abzufangen und auszuwerten. Wenn in Deinem Fall ToIP() einen Fehler
erzeugt, kannst Du den Aufruf so schreiben (mit Fragezeichen):
Errorcode, ipadress$ = ?ToIP(ipadress$)
If ErrorCode<>0      ;bei 0 ist alles in Ordnung
  Weiter = SystemRequest("Fehler ToIP", "Errorcode: "..ErrorCode..Char(10).."ipadress$: "..ipadress$, "OK")
Else
  ;Hier der Code, wenn alles in Ordung ist oder Else-Block weglassen
EndIf
Char(10) ist ja Linefeed. Kann sein, dass auf Windwos noch Char(12) angehängt
werden muss: ..Char(10)..Char(12)..

----

Solange das Programm nicht "compiliert" ist, wird das Script via Interpreter
abgespielt. Beim Compilieren wird zwar das Script in Bytecode umgewandelt,
aber mit dem Player verbunden. Du hast auch die Möglichkeit, nur Applets
zu erstellen. Dann müssen, wenn Du es allen zur Verfügung stellst, die Benutzer
den Hollywood-Player von der Hompage herunterladen und installieren. So bleiben
die Applets klein und du musst nicht für jede Plattform ein Programm compilieren.

----

Es gibt irgendeine Programmiersprache, die anscheinend auch recht gut zu handhaben
ist und auch auf fast allen Plattformen erhältlich ist. Aber das Dumme ist eben, dass
dies irgendwo im Kommentarbereich von Amiga-News geschrieben wurde. Vielleicht
finde ich es noch.

----

> Das ich frage mich auch, inwieweit Betriebssystem updates dann den Interpreter beeinflussen können.
> Sicher auch ein Thema.

Hielt sich bis jetzt ziemlich in Grenzen. Es gab ein zwei Befehle, die bei Windows 10
zickten. Mehr nicht. Oft werden Betriebssystem-Eigenschaften geändert, die Hollywood
eh nicht betreffen. Und ich nehme an, dass Andreas sich stark an die jeweiligen
Richtlinien der Betriebssysteme hält, damit er seine Ressourcen für neue Funktionen
und Plugins einsetzen kann.

----

Schön, dass Du Dich mit Hollywood auseinandergesetzt hast, auch wenn wahrscheinlich
eher C oder so für Dich in Frage kommt. Hollywood entwickelt sich ja weiter und abgesehen
von der Grösse der compilierten Programme kommen immer wieder neue Funktionen dazu
und alte werden falls nötig verbessert.

----

Ich habe einen Kommentarbereich gefunden. Ich dachte, dass dort
mehr darüber diskutiert wurde. Kann sein, dass dies der falsche
ist. Aber schau mal ab Post Nr. 7 nach:

http://www.amiga-news.de/de/news/commen ... 40-DE.html

Es ist allerdings von Lazarus und Freepascal die rede.

Griessli
Tipsi


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 14 Beiträge ] 

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Gehe zu: 

cron