LabVIEWForum.de
DLL Funktionsrückgabewert HFONT - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: DLL Funktionsrückgabewert HFONT (/Thread-DLL-Funktionsrueckgabewert-HFONT)

Seiten: 1 2


DLL Funktionsrückgabewert HFONT - Heinz - 14.07.2008 16:20

Hi Leute,

ich habe folgendes Problem,
um einen Smart Label Printer über LabVIEW 8.5.1 anzusteuern, muss die SLPAPI62.dll in LabVIEW eingebunden werden. Die dll und die Headerdatei bekomme ich aus dem SDK vom Hersteller SII. Ich kann damit auch einen Großteil der Integrierten Funktionen ansprechen. Aber um ein Edikett meiner Wahl auszudrucken, benötige ich eine Funktion deren Rückgabewert HFONT ist. Leider kann ich diese Werte beim einbinden der dll nicht auswählen. Der dazugehörige C++ Code aus der Beschreibung lautet:

void main()
{
SlpOpenPrinter(“Smart Label Printer 450”, 1, FALSE);
// layout and print one label
{
SlpStartLabel();
HFONT font = SlpCreateFont(“Courier”, 12, 0);
SlpDrawTextXY(30, 30, font, “Hello World!”);
SlpEndLabel(); // print the label!
}
SlpClosePrinter();
}

Wie kann ich beim einbinden der DLL den Wert HFONT deklarieren um ihn später für die Funktion SlpCreateFont() als Ausgabewert auswählen zu können?

Danke Heinz


DLL Funktionsrückgabewert HFONT - IchSelbst - 14.07.2008 22:44

Wenn der Font in der DLL created (und gefreed) wird und im LV-Programm eigentlich nur der Handle des Fonts (HFONT) weitergereicht wird, dann kannst du HFONT ansehen wie einen U32. Also dort, wo eigenlich HFONT stehen soll, einfach U32 nehmen.


DLL Funktionsrückgabewert HFONT - Heinz - 15.07.2008 10:17

Hallo nocheinmal,

leider wird von der Funktion nur der wert 0 zurückgegeben, egal welchen Int-Wert ich auswähle. :-(
Hat vileicht noch jehmand eine andere Idee?

cu Heinz


DLL Funktionsrückgabewert HFONT - jg - 15.07.2008 20:08

:hmm:Wenn man wüsste, was genau du versucht / gemacht hast?Hmm

Lade doch mal Doku zur DLL (oder ist es vielleicht die hier?), die dll und deinen bisherigen Code hoch...

Ansonsten ist auch aus meiner Sicht der Hinweis von IchSelbst genau richtig, HFONT ist als U32 zu übergeben (bzw. zurückzugeben).

MfG, Jens


DLL Funktionsrückgabewert HFONT - IchSelbst - 15.07.2008 20:33

Naja, Rückgabewert 0 und Beschreibung: Ich tippe mal, die Übergabe des Fontnamens ist falsch.


DLL Funktionsrückgabewert HFONT - Heinz - 15.07.2008 21:05

' schrieb::hmm:Wenn man wüsste, was genau du versucht / gemacht hast?Hmm

Lade doch mal Doku zur DLL (oder ist es vielleicht die hier?), die dll und deinen bisherigen Code hoch...

Ansonsten ist auch aus meiner Sicht der Hinweis von IchSelbst genau richtig, HFONT ist als U32 zu übergeben (bzw. zurückzugeben).

MfG, Jens


Hi Leute,

die PDF-Datei ist ein Treffer die habe ich auch. Ich lade mal die Header-Datei mit der zugehörigen dll hoch. Beim importieren der dll in LabVIEW werden dann ca 9 von 20 Funktionen erfasst. Meine Versuche mit HFONT kann ich erst morgen hochladen, da ich die Quellen im Büro habe.

cu Heinz


DLL Funktionsrückgabewert HFONT - Heinz - 16.07.2008 10:30

Hallo Leute,

hier habe ich nun mein VI welches nicht so recht will. Vielecht erkennt ja jemand den fehler warum ich keinen passenden wert erhalte.

cu Heinz


DLL Funktionsrückgabewert HFONT - IchSelbst - 16.07.2008 16:39

' schrieb:hier habe ich nun mein VI welches nicht so recht will. Vielecht erkennt ja jemand den fehler warum ich keinen passenden wert erhalte.
Ich kann da keinen Fehler fetstellen. Frag mal dann, wenn HFONT Null ist, mit der Funktion SLPGetErrorCode ab, ob ein Fehler vorliegt. Möglicherweise muss eine ganz bestimmte Funktion aufgerufen worden sein, bevor der create gemacht wird.


DLL Funktionsrückgabewert HFONT - Heinz - 16.07.2008 19:06

Hi,

mitlerweile bekomme ich nicht mehr 0 als Rückgabewert sondern jedes mal einen anderen Zahlenwert (bei gleichen Eingabewerten). Das mit der SLPGetErrorCode() werde ich mal testen und wenn das auch nicht funktioniert habe ich wenigstens eine 1a Zufallsgennerator. :-)
Ich vermute das die Folgefunktion SlpWriteTextXY() mit der Ausgabe von SlpCreateFont() nichts anfangen kann. Ich poste morgen das Ergebnis.

cu Heinz


DLL Funktionsrückgabewert HFONT - IchSelbst - 16.07.2008 19:31

' schrieb:mitlerweile bekomme ich nicht mehr 0 als Rückgabewert sondern jedes mal einen anderen Zahlenwert (bei gleichen Eingabewerten).
Das halte ich für richtig. Wie sehen denn die Werte so aus?

Beachte, dass zu jedem CREATEFont ein DESTROYFont (oder wie immer es in SLP heißt) gehört.