Userlibs? Wie geht das?!

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

johanneswotzka

Betreff: Userlibs? Wie geht das?!

BeitragFr, Okt 22, 2004 12:49
Antworten mit Zitat
Benutzer-Profile anzeigen
In der Rubrick mit den dll´s sind ja zum Teil ganz praktische Sachen!
Ich habe aber beim besten Willen noch nicht kapiert, was
man mit dem Userlib-code machen soll! Sad
Kann mir das mal einer sagen?

Danke fuer die Antworten" Very Happy
Besucht meine ultimative Blitzbasic Website!

Vertex

BeitragFr, Okt 22, 2004 14:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Du brauchst einen Kompiler(nein für Blitz gibt es keinen) der Funktionen exportieren kann. Schau dich mal im FAQ Bereich um, da sind Beispiele für PureBASIC, C++ und Delphi. Wobei PureBASIC dir sicherlich eher zusagen wird Smile
mfg olli
vertex.dreamfall.at | GitHub

bruZard

BeitragFr, Okt 22, 2004 14:34
Antworten mit Zitat
Benutzer-Profile anzeigen
@Vertex: Ich denke eher dass er das verwenden der Userlibs meint Wink

@johanneswotzka:
Um zu wissen ob für Dich Userlibs in Frage kommen wäre es nützlich zu wissen welches Blitzbasic Du in welcher Version verwendest.

Solltest Du eine Version besitzen die Userlibs unterstützt musst Du folgende Dinge wissen:
In Deinem Blitzbasic Installationsordner befidnet sich ein Ordner namens "userlibs", in diesem müssen die DLL's abgelegt sein die verwendet werden sollen (nur wenn es sich nicht um Standsystem-DLL's handelt). Zu einer DLL muss eine sogenannte DECLS Datei existieren, in der steht eine Definition für Blitzbasic was er mit der DLL tun soll, wie die Funktionen heissen, deren Parameter und welche Datentypen angewandt werden sollen.

Hast Du beides ordnungsge,äß installiert erweitert sich der "Wortschatz" von Blitzbasic automatisch um die in der DECLS angegebenen Befehle und Funktionen.
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image
 

SebastianB

BeitragFr, Okt 22, 2004 15:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier mal ein kleines Beispiel für MessageBox Smile

Hier die decls-Datei:
Code: [AUSKLAPPEN]

.lib "user32.dll"

api_MessageBox% (hwnd%, lpText$, lpCaption$, wType%) : "MessageBoxA"



Und hier der Quelltext:
Code: [AUSKLAPPEN]

Const Icon_Information= 64
Const Icon_Exclamation= 48
Const Icon_Question   = 32
Const Icon_Critical   = 16
Const Button_OKCancel = 1
Const Button_YesNo    = 4
Const Button_Yes      = 6
Const Button_No       = 7
Const Button_OK       = 1
Const Button_Cancel   = 2

result=api_MessageBox(0, "Meldungstext", "Titelleiste", Icon_Information+Button_YesNo)
If result=Button_Yes Then
  Print "Auf Ja geklickt"
Else
  Print "Auf Nein geklickt"
End If
WaitKey
End


Genauere Erläuterung:
hwnd% hier kannst du die Handle des Blitzfensters angeben, sodass man das Blitzfenster nicht aktivieren kann bevor man nicht auf OK gedrückt hat.
wType% hiermit legst du Icon und die Schalflächen für die Meldung fest (s. Konstanten).

MfG Sebastian
Never change a running system
 

johanneswotzka

Betreff: Schritt fuer Schritt

BeitragFr, Okt 22, 2004 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe Blitz3D V 1.87!

Wenn es geht hätte ich gerne ein Schritt fuer Schritt Beispiel!
So z.B.
1. Im Blitzbasic-Ordner xxx.dll erstellen
2. hallo reinschreiben
...

Ich habe überhaupt keine Peilung wie das gehen soll!
Besucht meine ultimative Blitzbasic Website!

simi

BeitragFr, Okt 22, 2004 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
OK, ich versuche es mal zu erklaren:
1. Du suchst dir eine API Funktion. Wie das geht siehst du hier: https://www.blitzforum.de/viewtopic.php?t=5527

Nehmen wir an du hast etwas gefunden, dann siehst du dann, dass der Befehl in der "user32.dll" ist und dass der Befehl "MessageBoxA" heisst.

2. Jetzt erstellst du ein File im userlib-Ordener in deinem BlitzBasic-Ordener. Du kannst das File irgindwie nennen, einfach mit der endung ".decls".
So, in dieses File schreibst du nun von welcher DLL BB die Befehle nehemen soll, und unserem Fall, von der user32.dll:
Code: [AUSKLAPPEN]

.lib "user32.dll"

Jetzt kannst du den Befehl untenreinschreiben. Zuerst den mit dem du ihn in BB benutzen willst, dann die Parameter, und zum Schluss wie der Befehl in der DLL heisst:
Code: [AUSKLAPPEN]

api_MessageBox% (hwnd%, lpText$, lpCaption$, wType%) : "MessageBoxA"

Wenn die Funktion etwas zurückgibt, musst du wie in BB die bekannten Zeichen setzten. Bei den Parametern auch. Zusätzlich gibt es noch das Zeichen "*" für Pointer. Du kannst aber nur Pointer von einer Bank übergeben....
3. So jetzt kannst du den Befehl, wei ein BB-Befehl benutzen.....


Ich hoffe das war einigermassen klar....

cu simi
 

johanneswotzka

BeitragFr, Okt 22, 2004 20:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Es war sehr klar!!
Very Happy
Danke schön!!!
Besucht meine ultimative Blitzbasic Website!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group