GLBasic forum

Other languages => GLBasic - de => Topic started by: Quentin on 2011-Aug-30

Title: Gewrappte DLL-Funktionen in TYPEs
Post by: Quentin on 2011-Aug-30
mir ist aufgefallen, daß ich Funktionen aus DLLs innerhalb von Funktionen in TYPEs nur dann nutzen kann, wenn ich die entsprechenden DECLARE-Anweisungen auch innerhalb von TYPE .. ENDTYPE setze. Ansonsten bekomme ich Fehlermeldungen wegen fehlenden Deklarationen.

Beispiel:
Code: (glbasic) [Select]
TYPE TLanguage

INLINE
DECLARE(GetUserDefaultLangID, "kernel32.dll", (void), int);
ENDINLINE

FUNCTION GetDefaultUserLang:
INLINE
return GetUserDefaultLangID();
ENDINLINE
ENDFUNCTION

ENDTYPE


LOCAL lang AS TLanguage

IF lang.GetDefaultUserLang() = 1031
STDOUT "Sprache ist Deutsch."
ELSE
STDOUT "Sprache ist ausländisch."
ENDIF

KEYWAIT

In der generierten cpp - Datei stehen die DECLARE-Anweisung dann wieder außerhalb, aber in der gleichen Datei wie die implementierten Klassen-Methoden.

Nur mal so nebenbei ...
Title: Re: Gewrappte DLL-Funktionen in TYPEs
Post by: Kitty Hello on 2011-Aug-30
PLATFORMINFO$("LANG") - das willst Du.

Hast Recht - ist ein Fehler, aber mir schauderts... XD
Title: Re: Gewrappte DLL-Funktionen in TYPEs
Post by: Quentin on 2011-Aug-30
die Funktion war nur ein Beispiel. Ging mir ja nur um das Prinzip. Und als Fehler sehe ich das nicht so wirklich, eher unter der Rubrik "Gut zu wissen", falls man es mal anwenden möchte.
Title: Re: Gewrappte DLL-Funktionen in TYPEs
Post by: Schranz0r on 2011-Aug-30
Beides als möglichkeit ist aber auch schick ;)