Blitz "decl" wrapper

Previous topic - Next topic

Heiko

achso, naja, kommt halt drauf an, bei den heutigen rechnern.mmmm

Kitty Hello

Papperlapapp. int und long ist auf 32 bit rechnen "gleich".
Und long ist bei x64 *falsch*, weil Du sonst einen 64bit integer übergibst, wo ein 32er gefragt ist -> da schepperts.
Wie gesagt, diese ganze DLL wrapperei hat schon seine Tücken.

Heiko

ach ja hab zweit kleine bitten
1. wo du grad bei dem converter bist, sinnvoll wäre dass bei den funktionen direkt nach dem inline ein
Code (glbasic) Select
if(bla)kommen würde, wenn in der dll die funktion noch nicht vorhanden ist, sonst gibts fehler, gerade bei so beta geschichten ist das richtig nützlich, ich schreibe grad für ne menge funktionen dieses if(bla)  von hand nach.
womit wir zur zweiten frage kommen, bzw. bitte
2. also is nur eine frage, nur wenn du paar minuten zeit hast, meine gbas hat ja die teils gewrappten funktionen drin, und da fehlt nun überall das if(bla).könntest du einen converter o.s. zusammen klicken wie du so schön sagtest, die in meiner gbas (sind nämlich zwei mit haufen funktionen drin, dieses if(bla) hinzufügen?

beispiel:

Code (glbasic) Select
FUNCTION Xo_LoadVertexShader: path$,epoint$,ver
INLINE
if(xLoadVertexShader)
path_Str.Alloc(512);
epoint_Str.Alloc(512);
return xLoadVertexShader(path_Str.GetStrData(),epoint_Str.GetStrData(),ver);
ENDINLINE
ENDFUNCTION


wenn ich neu convertiere mit deinem wrapper, muss ich sonst wieder alles neu anpassen, war ne heidenarbeit.

Kitty Hello


Heiko

#19
okay habs neu convertiert, optionale paramter wären noch sinnvoll, also wenn ein  isGlobal = 0 steht zum beispiel

Kitty Hello

kann das in den decl Dateien vorkommen?

Heiko

ja, steht dan glaub ich immer hinter den parametern die an eine funktion übergeben werden.
is aber egal, ich muss alles von hand machen, mit der convertierten decl geht nun garnichts mehr.

werd das wohl doch von hand machen müssen.

Schranz0r

Leider muss ich das bestätigen, hab mir das gewrappe angeschaut, und gestartet.... nix ging :(
Dann das "alte" das ging .... find ich komisch.... denke da ist irgendwo (tief hintern Berg, da wo die Schlümpfe wohnen) ein ganz kleiner Gargamel versteckt :)

Wenn ich ihn sehen sollte sag ichs dir Papa-Schlumpf :D

(Komisch irgendwie bin ich grad gut drauf :P
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello

LOL! Die Abfrage, ob nun die Funktion da ist hat immer "END" aufgerufen. Update online.

Heiko

#24
hab auch nen fehler entdeckt, da sollte einer funktion ein int übergeben werden, im declare stand aber hartnäckig void.

nunja die optionalen werte sindnoch nicht mit drin.

also wenn in der funktion steht

function bla: a, b, c=0, d=0
endfunction

zum beispiel

aber ich hab es zum laufen gebracht, mein gewrapptes, aber irgendwie alles verdreht, also tastensteuerung, meine spielfigur is irgendwie weg, nicht mehr zu sehen.

schranz0r hat ja den source, und die decl kann man sich bei rubux.net runterladen.

ich hab eine funktionierende von hand gebaute version und eben eine konvertierte nicht funktionierende version.mmmmm


@gernot, ich mach meinen wrapper morgen fertig, ich versuchs zumindest, is haufen schreibarbeit. und sende dir dann die decl und die gbas von mir.

dann hättest du quelle und ziel, und könntest den converter schonmal bisschen anpassen.ist ja bald alles drin, was in so einer gewandelten gbas stehen könnte.
okay?

Heiko

noch eine frage, vorher definierte parameter sind ja klar, ala parameter1 = 0  soweit klar.

was ist wenn dort keine zahl, sondern ein platzhalter stehe sollte.

also falls ein parameter nicht angebenen wirde, ein parameter2 = ""   stehen soll. muss das irgendwie ander geschrieben werden?

ich denke mal parameter2 = (""), richtig oder?

Schranz0r

Als Zahl:

Code (glbasic) Select
GLOBAL Variable

Also String:

Code (glbasic) Select
GLOBAL Variable$

I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Heiko

ach klar, heißt dann variable$ = ("")

Schranz0r

Nein! einfach :

GLOBAL Name$
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Heiko

nein du verstehst es nicht.

Function blu: a1, a2=0, b$=("")
endfunction

blu(1)   

optionaler parameter, welcher auf "" gesetzt wird wenn nicht angegeben.