simple Demo von Prototype angewendet auf eigene Prozeduren
Verfasst: 13.08.2009 22:12
Das Echo auf Beiträge zu Interfaces ist hier im Board recht mager.
Aber vielleicht interressieren sich ja einige für die Möglichkeiten von Prototypes.
In der Hilfe steht, Prototype ist besser als CallFunctionFast und wird verwendet um auf Funktionen fremder DLLs zugreifen zu können.
Wohl war, aber man kann nochmehr damit machen.
z.B. auf eigene Funktionen zuzugreifen
hier mal ein einfaches Beispiel.
Sollte Interresse bestehen, kann ich auch einen komplexen Code posten.
__________________________________________________
Thread wurde verschoben
Allgemein>Code, Tipps und Tricks
13.08.2009
RSBasic
Aber vielleicht interressieren sich ja einige für die Möglichkeiten von Prototypes.
In der Hilfe steht, Prototype ist besser als CallFunctionFast und wird verwendet um auf Funktionen fremder DLLs zugreifen zu können.
Wohl war, aber man kann nochmehr damit machen.
z.B. auf eigene Funktionen zuzugreifen
hier mal ein einfaches Beispiel.
Code: Alles auswählen
Structure Protofeld
a.i
b.s
c.s
EndStructure
Prototype HoleDaten(Array a.Protofeld(1))
Global HoleDaten.HoleDaten
Procedure Anzeigen(Array b.Protofeld(1))
size = ArraySize(b())
For j = 0 To size
Debug Str(b(j)\a) + " " + b(j)\b + " " + b(j)\c
Next
EndProcedure
Procedure Aufrufen(funktionszeiger)
HoleDaten = funktionszeiger
Dim b.Protofeld(0) ;Feld muß existieren
HoleDaten(b())
Anzeigen(b())
EndProcedure
;bis hier könnte der obige Code in einer Include oder einer DLL stecken
;ab hier könnte das Programm beginnen
Structure blabla ;muß der gleiche Aufbau sein wie Structur für Prototype
a.i
b.s
c.s
EndStructure
Procedure Daten1(Array d.blabla(1))
max = 6
Dim d.blabla(max)
For j = 0 To max
d(j)\a = Random(max)
d(j)\b = Str(j)
d(j)\c = Chr(j+64)
Next
EndProcedure
Procedure Daten2(Array d.blabla(1))
max = 9
Dim d.blabla(max)
For j = 0 To max
d(j)\a = Random(max)
d(j)\b = Str(j)
d(j)\c = Chr(j+64)
Next
EndProcedure
Aufrufen(@Daten1())
Debug "-----------"
Aufrufen(@Daten2())
__________________________________________________
Thread wurde verschoben
Allgemein>Code, Tipps und Tricks
13.08.2009
RSBasic