Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

dll und visual basic

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 17.12.2006, 12:29    Titel: dll und visual basic Antworten mit Zitat

Ich versuche grade einen Spiele-Trainer zu schreiben (siehe qb-forum spiele trainer) und möchte die Benutzeroberfläche mit VB gestalten weil es einfach schneller geht (bitte keine gehässigen Kommentare verwundert) Allerdings ist mir der direkte Speicherzugriff mit VB zu schwer, bzw. villeicht auch nicht, aber ich hab einfach k.a. wie es geht. Deswegen war meine erste Überlegung einfach ein kompiliertes fb "script" zu schreiben, dass über die Kommandozeilen Parameter ($Command) für mich das Peeksen und Pokesen übernimmt. Nun stellte mir sich die Frage ob das zu langsam ist, bzw. zu viel porzessoraktivität, oder ram schluckt, denn ich möchte ja immer noch dazu in der Lage sein ein Spiel spielen zu können.
Falls dies der Fall ist und es wirklich zu viel schluckt wollte ich fragen, ob man mit fb eine dll erstellen kann die den dirketen Speicherzugriff übernimmt. Diese dll müsste dann von einem VB Proggi gesteu8ert werden. Ginge das? Wäre das schneller? Teilt mir bittte eure Gedanekn zu diesem Thema mit.

Ich wünsche allen gläubigen Forenmitgliedern einen fröhlichen 3. Advent
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 17.12.2006, 12:36    Titel: Antworten mit Zitat

[OT]
Und allen nicht Gläubigen? Zunge rausstrecken
Btw, von mir auch, aber an alle. grinsen
[/OT]

Hier im FB-Bereich hatte terminate vor kurzem das Thema sehr detailliert aufgezeigt, evtl. nützt dir das ja was. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 17.12.2006, 12:47    Titel: Antworten mit Zitat

hast ja recht mit den Augen rollen

wenn ich versuche eine dll zu kompilieren (egal ob mit -dylib oder mit -dll)
bekomme ich imme eine Fehlermeldung:

D:\...\win32\ld.exe cannot find lLibrary

was mache ich falsch?

ich habe die test dell von wikibooks benutzt um es auszuprobieren

(http://de.wikibooks.org/wiki/FreeBasic:_DLL)
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 17.12.2006, 15:15    Titel: Antworten mit Zitat

Schau mal im examples Ordner von FB, da ist so ein Beispiel im Ordner dll,
das sollte alles erklären, bevor wir uns hier den Mund fusselig reden zwinkern

jb
_________________
Elektronik und Programmieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 17.12.2006, 17:52    Titel: Antworten mit Zitat

alfonsospringer hat Folgendes geschrieben:
ich habe die test dell von wikibooks benutzt um es auszuprobieren

(http://de.wikibooks.org/wiki/FreeBasic:_DLL)

Das kann fehlerhaft/veraltet sein.

Welche Freebasic Version?

Mit 0.16 geht es.
Libary.bas hat Folgendes geschrieben:
Code:
declare sub      PrintRot lib "Libary" alias "PrintRot"(text as string)
declare function quadrat  lib "Libary" alias "quadrat" (a as double) as double

sub PrintRot(text as string) export
   color 4
   Print text
end sub

function quadrat(a as double) as double export
   return a^2
End function

Das mit
Code:
fbc.exe Libary.bas -dylib

Kompllieren und es geht bei mir.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 17.12.2006, 20:04    Titel: Antworten mit Zitat

wenn ich das mache was du da grad geschrieben hast bekomme ich den oben genannten fehler.

Zu den examples: Bei denen bekomme ich genau den selben fehler
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 17.12.2006, 20:58    Titel: Antworten mit Zitat

Fehler gefunden ! Juhu!
Mein Fehler war, dass ich die Quelldatei immer als LibRary.bas abgespeichert habe, obwol im Header (ob gewollt oder nicht) libary steht.
Tja - manchmal passieren mir die dümmsten Fehler happy
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 20.12.2006, 18:31    Titel: Antworten mit Zitat

lachen
Der der ohne Bugs ist, werfe das erste Bit zwinkern
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 20.12.2006, 19:45    Titel: Antworten mit Zitat

der Spruch ist gut !
Kannst de mir villeicht mal erklären wie die declares mit dem alias und dem export bei dll's aufgebaut werden müssen? Ich weiss ja mitlerweile, dass unter lib der name des .bas quellcode kommen muss, aber ich verstehe zb. nicht warum in:
"declare function quadrat lib "Libary" alias "quadrat" (a as double) as double"

der datentyp 2x angegeben wird.

Kannst du mir mal bitte erklären was die einzelnen parameter machen?

P.S.: Ich habe jetzt übrigens FBIDE durch Jellyfish Pro ersetzt, der gefällt mir fast besser
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 20.12.2006, 20:39    Titel: Antworten mit Zitat

Herzlichen Glückwunsch zu post Nr. 44400!!! lachen durchgeknallt
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 20.12.2006, 21:19    Titel: Antworten mit Zitat

Hab ich einen Preis gewonnen ? durchgeknallt

Und jetzt hatte ich doch tatsaechlich einen sinvollen Post erwartet (natuerlich nicht boese gemeint) happy
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 23.12.2006, 20:04    Titel: Antworten mit Zitat

alfonsospringer hat Folgendes geschrieben:
"declare function quadrat lib "Libary" alias "quadrat" (a as double) as double"

der datentyp 2x angegeben wird.

Der Datentyp ist einmal für a und einmal für die Rückgabewert definiert. Ist ja eine Funkition und Funktionen haben in Basic Rückgabe Werte zwinkern
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 23.12.2006, 22:50    Titel: Antworten mit Zitat

danke jetzt verstehe ich alles. alias gibt den namen an mit der die funktion spaeter aufgerufen wird, wenn kein anderer angegeben wird, oder?
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 24.12.2006, 09:04    Titel: Antworten mit Zitat

alfonsospringer hat Folgendes geschrieben:
alias gibt den namen an mit der die funktion spaeter aufgerufen wird, wenn kein anderer angegeben wird, oder?

Gute Frage.
FB.de
FB.net

Hab mal etwas rumprobiert.

In Quellcode der DLL wird das ALIAS gebraucht, weil sonst die Funktion/Subroutine nicht gefunden wird.
In dem Fall scheint ALIAS also die Funktion zu haben, den Namen in die DLL zuschreiben, damit man die DLL einbinden kann.

Im Quellcode der EXE wird es für das Umgekehrte gebraucht.

Noch mal etwas verständlicher:
Das ALIAS wird gebraucht, damit der Compiler (Linker) weiss, wie die Funktion in der DLL heisst oder heissen soll.

Der Name kann gleich, aber auch anders sein wie der eigentliche Funktionnamen.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 24.12.2006, 12:28    Titel: Antworten mit Zitat

ich verstehs, ich verstehs ! lachen
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz