[4.51 final] probleme mit uselib

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

[4.51 final] probleme mit uselib

Beitrag von xperience2003 »

string werden nicht uebergeben

Code: Alles auswählen

ProcedureDLL GLSL_GetUniformLocation(glslPixelShader, varname.s)
  ProcedureReturn CallFunctionFast(glGetUniformLocationARB,glslPixelShader,@varname );
EndProcedure
wie muss man das nun aendern, in der hilfe steht das callfunktion keine strings und floats
uebergibt , nur longs...komisch das ging schon immer, nun keine strings mehr

und das hier gibt adressfehler zurueck

Code: Alles auswählen

ProcedureDLL TLSetTexCoordMT(px.f, py.f,layer.l); 
 glMultiTexCoord2fARB = wglGetProcAddress_("glMultiTexCoord2fARB")
 CallFunctionFast(glMultiTexCoord2fARB,#GL_TEXTURE0_ARB+layer, px.f, py.f);
EndProcedure
wieso wird andauernd was internes geaendert?
amiga rulez...
Rebirth Software
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: [4.51 final] probleme mit uselib

Beitrag von HeX0R »

xperience2003 hat geschrieben: wieso wird andauernd was internes geaendert?
Weil dieses CallFunction...()-Zeugs schon immer eine Krücke war.
Heutzutage nimmt man Prototypes.
Benutzeravatar
Regenduft
Beiträge: 574
Registriert: 25.03.2008 15:07
Wohnort: THE LÄÄÄND!

Re: [4.51 final] probleme mit uselib

Beitrag von Regenduft »

Zum 1. Code:
Wenn ich mich richtig erinnere wurden Strings noch nie übergeben, früher "hatte es nur den Anschein". Anstelle des Strings wurde die Startadresse übergeben wurde. Man konnte sich also das "@" sparen. Verstehe sowieso nicht, warum Du nicht gleich einen Ponter zu "varname" übergibst, wenn du ja anschließend nur die Adresse benötigst...
Ist zwar nicht dokumentiert, aber Du kannst auch vor einen "festen" String einfach ein "@" setzen:

Code: Alles auswählen

FantasieProzedur(@"Blabla")
Im allgemeinen muss ich HeXOR rechtgeben: Nimm lieber Prototypes
Muss aber gestehen, für "einmal-aufruf-initialisierungsprozeduren" nutze ich auch das Callfunction..() gedöns.[/i].
PureBasic 5.73 LTE x86/x64 | Windows 7 (x64)
Antworten