Unnormale Strings

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

porcus

Betreff: Unnormale Strings

BeitragSa, Jun 09, 2007 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe neulich versucht einige WinApi Funktionen unter BlitzMax zu
verwenden. Sobald in dieser WinApi Funktion irgendein Parameter ein
String ist, funktioniert das ganze nicht. Ich habe dann auch die
Messagebox-Funktion von der WinApi ausprobiert und da stand statt
dem übergebenen String nur ein Buchstabengewirr. Anscheinend
benutzt BlitzMax eine andere Art von Strings, worauf auch blitz_string.c
in brl.blitz hinweist.

Kann man irgendwie aus dem BM-String einen normalen String machen
und ihn dann an die Funktion übergeben ?
*Account deaktiviert*

Suco-X

Betreff: .....

BeitragSa, Jun 09, 2007 14:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein String ist ein Objekt und die WinAPI arbeitet nicht Objekt Orientiert. So ist der String im falschen Format. Dir bleiben aber zwei Möglichkeiten:

Code: [AUSKLAPPEN]

Strict


Extern "Win32"

   Function MessageBox(hWnd:Int, Text$z, Cap$z, Ty:Int) = "MessageBoxA@16"
   Function MessageBox2(hWnd:Int, Text:Byte Ptr, Cap:Byte Ptr, Ty:Int)="MessageBoxA@16"
   
End Extern


MessageBox(0, "Version 1", "", 0)
MessageBox2(0, "Version2".ToCString(), "", 0)


Die mit dem $ finde ich persönlich bequemer. Bei der zweiten Version müsstest du den von TOCString reservierten Speicher noch mit MemFree wieder freigeben.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group