Fluid Byte hat geschrieben:edel hat geschrieben:Kiffi hatte damals mit seinem VD einen sehr guten Ansatz.
Kiffi hat sich auch mal an einem VD versucht? Wusste ich gar nicht. Gibts da noch irgendwas zum runterladen oder alte Quellcodes die eventuell nützlich sein könnten?
Der VD basierte auf dem von Visual Studio, also C#. Fuer Code musste mal Kiffi fragen.
Fluid Byte hat geschrieben:
edel hat geschrieben:Ueber XML und XSLT seine eigenen Code strukturieren.
Ich weiß was XML ist und kenne auch den groben Verwendungszweck von XSLT aber was genau meinst du? Das man seine eigene Syntax zusammenschrauben kann?
edel hat geschrieben:Also so das der Code z.B. ebenso fuer EasyEvent oder jeder andere Eventhandler genutzt werden kann.
Ausserdem kann der VD dann auch mal laenger mithalten, auch nach einem Update von PB

Was genau ist EasyEvent und wie sollte das integriert werden?
EasyEvent ist von Srod. Mit der Include laeuft das EventHandling im
Hintergrund, es werden dann nur noch die gesetzten Funktionen
angesprungen, aehnlich wie es .NET macht. Wobei das aber voellig
egal ist, da man per Transformation dann seinen Code an alles
anpassen kann. Man klickt sich seine Oberflaeche zusammen, waehlt
dann das entprechende Output-Format aus, und bekommt das was man
haben will.
Dein VD koennte folgenden Code exportieren
Code: Alles auswählen
<vd>
<form x="ignore" y="ignore" cx="640" cy="480" text="Fenster">
<button x="10" y="10" cx="75" cy="23" text="Button" OnClick="OnClickFunctionsName" />
<listbox x="10" y="50" cx="200" cy="200">
<listboxitem>item1</listboxitem>
<listboxitem>item2</listboxitem>
<listboxitem>item3</listboxitem>
<listboxitem>item4</listboxitem>
</listbox>
</form>
</vd>
Nach entsprechender Transformation kommt dann vielleicht sowas bei rum :
Code: Alles auswählen
OpenWindow(0,#PB_Ignore,#PB_Ignore,640,480,"Fenster")
ButtonGadget(0,10,10,75,23,"Button")
ListViewGadget(1,10,50,200,200)
AddGadgetItem(1,-1,"item1")
AddGadgetItem(1,-1,"item2")
AddGadgetItem(1,-1,"item3")
AddGadgetItem(1,-1,"item4")
Repeat
event = waitwindow()
If event = #PB_Event_Gadget
If EventGadget() = 0
OnClickFunctionsName()
EndIf
EndIf
Until ende
oder mit einer anderen XSLT
Code: Alles auswählen
OpenWindow(0,#PB_Ignore,#PB_Ignore,640,480,"Fenster")
ButtonGadget(0,10,10,75,23,"Button")
ListViewGadget(1,10,50,200,200)
AddGadgetItem(1,-1,"item1")
AddGadgetItem(1,-1,"item2")
AddGadgetItem(1,-1,"item3")
AddGadgetItem(1,-1,"item4")
SetEventHandler(0,#onlick,@OnClickFunctionsName())
run()
im Prinzip egal, man koennte das ganze auch einfach durch reines WinAPI
Gedoens ersetzen, oder sogar fuer ganz andere sprachen exportieren.
Fluid Byte hat geschrieben:
edel hat geschrieben:Eigene Controls einfuegen muss ich bestimmt nicht erwaehnen, oder?

Habt Nachsicht Herr, ich bin bloß ein Amateur ...
Du meinst also alle Gadgets die nicht von PB bzw. Windows unterstützt werden. Ich dachte da an ein auf DLL's basierendes Plugin-System. Oder doch lieber per "Code-Injection"?
Naja mir wuerde da auch nen einfaches Rechteck anstatt meines Fensters
reichen, ergo wuerde es da auch ne simple XML tun.
Code: Alles auswählen
<vdCustomClass>
<CustomClass Name="MeineKlasse">
<CustomClassAttribute/>
</CustomClass>
</vdCustomClass>
Hm, jetzt juckt es mir aber auch schon in den Fingern
