Userlibs? Wie geht das?!
Übersicht

johanneswotzkaBetreff: Userlibs? Wie geht das?! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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! ![]() Kann mir das mal einer sagen? Danke fuer die Antworten" ![]() |
||
Besucht meine ultimative Blitzbasic Website! |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
bruZard |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Vertex: Ich denke eher dass er das verwenden der Userlibs meint ![]() @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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier mal ein kleines Beispiel für MessageBox ![]() 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 |
johanneswotzkaBetreff: Schritt fuer Schritt |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es war sehr klar!!
![]() Danke schön!!! |
||
Besucht meine ultimative Blitzbasic Website! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group