Author Topic: Gewrappte DLL-Funktionen in TYPEs  (Read 1776 times)

Offline Quentin

  • Prof. Inline
  • *****
  • Posts: 915
    • View Profile
Gewrappte DLL-Funktionen in TYPEs
« 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 ...

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10766
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Re: Gewrappte DLL-Funktionen in TYPEs
« Reply #1 on: 2011-Aug-30 »
PLATFORMINFO$("LANG") - das willst Du.

Hast Recht - ist ein Fehler, aber mir schauderts... XD

Offline Quentin

  • Prof. Inline
  • *****
  • Posts: 915
    • View Profile
Re: Gewrappte DLL-Funktionen in TYPEs
« Reply #2 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.

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5088
  • O Rly?
    • View Profile
Re: Gewrappte DLL-Funktionen in TYPEs
« Reply #3 on: 2011-Aug-30 »
Beides als möglichkeit ist aber auch schick ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 1700 @3.9GHz, 16GB HyperX Fury 3000MHz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard