Seite 1 von 1

[4.51 final] probleme mit uselib

Verfasst: 11.05.2011 21:17
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?

Re: [4.51 final] probleme mit uselib

Verfasst: 11.05.2011 21:21
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.

Re: [4.51 final] probleme mit uselib

Verfasst: 14.05.2011 15:51
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].