Seite 2 von 5

Re: PureBasic 5.20 beta 1 is out

Verfasst: 20.06.2013 17:01
von Kiffi
mirca hat geschrieben:Aber was ist Runtime? Wofür braucht man das?
man kann beispielsweise Prozeduren über Strings aufrufen:

Code: Alles auswählen

Runtime Procedure lala()
  Debug "huhu"
EndProcedure

CallFunctionFast(GetRuntimeInteger("lala()")) 
Grüße ... Kiffi

Re: PureBasic 5.20 beta 1 is out

Verfasst: 20.06.2013 17:19
von STARGÅTE
Also nix anderes als:

Code: Alles auswählen

Procedure lala()
  Debug "huhu"
EndProcedure

NewMap GetRuntimeInteger.i()
GetRuntimeInteger("lala()") = @lala()

CallFunctionFast(GetRuntimeInteger("lala()")) 
:wink:

Re: PureBasic 5.20 beta 1 is out

Verfasst: 20.06.2013 17:19
von cxAlex

Code: Alles auswählen

Runtime Enumeration
  #Runtime1
  #Runtime2
  #Runtime3 
EndEnumeration

Debug GetRuntimeInteger("#Runtime2")
Debug GetRuntimeInteger("#Runtime3")
Also, wenn man auch z.B. sowas damit machen kann:

Code: Alles auswählen

Define Const$ = "#Runtime2"
GetRuntimeInteger(Const$)
Müssten ja sämtliche Konstanten-Namen inkl. Werte, ProcedureNamen inkl. Einsprungadressen usw. usv. gespeichert werden, egal ob ich sie jetzt im Fertig kompilierten direkt Source nutze oder nicht? Dürfte die Executables ziemlich aufblasen. Außerdem könnte ich mir denken das man sich da durchaus einige Sicherheits - Lecks einfangen kann, indem man z.B. aus einer Config-Datei einen Wert einließt, der normalerweise soetwas ist wie "#Color_Green". Nun ersetzt jemand händisch das durch z.B. "Program_SetRegistrationOk()" (Den Namen der Procedure könnte er dann ja auch ganz einfach im fertigen Executable finden, muss ja wo gespeicher sein, mit ein bisschen Try & Error findet man schon die richtige Procedure) und GetRuntimeInteger() registriert mir dann ganz locker flockig mein Programm? Jetzt nicht nur zum Umgehen von Registrierungen, auch über normale StringGadget - Eingaben usw. könnten sich u.u. ganz schön problematische Situationen ergeben, die Programmstabilität beeinflusst werden, auch ganz unbeabsichtigt durch den User. Natürlich kann man das auch wieder absichern, Abfrage ob "()" vorkommen ... . Aber das ist Mehraufwand und nicht der Sinn der Sache. Dieses ganze dynamische Gedöns, gefällt mir nicht wohin sich da PB entwickelt.

Gruß, Alex

Re: PureBasic 5.20 beta 1 is out

Verfasst: 20.06.2013 18:52
von ts-soft
cxAlex hat geschrieben:Dieses ganze dynamische Gedöns, gefällt mir nicht wohin sich da PB entwickelt.
Das ist ja auch in erster Linie für die neuen Dialoge, wo es Sinn macht. Das man sowas auch unsinnig
Anwenden kann ist wohl unvermeidbar :wink:

Re: PureBasic 5.20 beta 1 is out

Verfasst: 20.06.2013 18:54
von edel
STARGÅTE hat geschrieben:Also nix anderes als:

Code: Alles auswählen

Procedure lala()
  Debug "huhu"
EndProcedure

NewMap GetRuntimeInteger.i()
GetRuntimeInteger("lala()") = @lala()

CallFunctionFast(GetRuntimeInteger("lala()")) 
:wink:
Joa, wenn dein Code jetzt noch dafuer sorgt, dass Eventfunktionen aus der XML automatisch aufgerufen werden koennen ;)

Re: PureBasic 5.20 beta 1 is out

Verfasst: 20.06.2013 18:58
von ts-soft
Dieser Beitrag macht das ganze Runtime-zeuxs ein bissel klarer: http://www.purebasic.fr/english/viewtop ... 96#p415296

Re: PureBasic 5.20 beta 1 is out

Verfasst: 20.06.2013 20:04
von Pure_Beginner
Hallo Leute,

habe nach der installation von PB 5.2 folgende Fehlermeldung erhalten. :cry:


https://www.dropbox.com/s/yqeft6ltsuzvb2g/Fehler.png

hat jemand eine Idee ?

Grüße
Christian

Re: PureBasic 5.20 beta 1 is out

Verfasst: 20.06.2013 20:14
von Bisonte
in der x64 IDE scheint der Wurm drin zu sein... es wurden schon diverse Bugs dazu im engl. Forum gepostet

Re: PureBasic 5.20 beta 1 is out

Verfasst: 20.06.2013 20:15
von ts-soft
Pure_Beginner hat geschrieben:hat jemand eine Idee ?
Ja, Du verwendest die 64-Bit Version der IDE :wink:

Entweder x86 nutzen oder auf nächste Beta warten (oder noch besser, linux nutzen :mrgreen: )

Re: PureBasic 5.20 beta 1 is out

Verfasst: 20.06.2013 20:22
von Pure_Beginner
Danke für den Tipp,

hab X86 installiert.

Grüße
Christian