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:

Declare Alias Vereinfachen?

 
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
Heiko



Anmeldungsdatum: 28.07.2008
Beiträge: 101

BeitragVerfasst am: 20.10.2008, 23:19    Titel: Declare Alias Vereinfachen? Antworten mit Zitat

Mal an die Profis unter Euch.
Gibt es eine Möglichkeit dieses Declare Funktions DLL Load Gewusel zu vereinfachen?
MUSS man denn immer alles erst deklarieren?

Code:
library = DYLIBLOAD( "Xors3D" ) 

DECLARE FUNCTION xGraphics3D (Widtha AS INTEGER,height AS INTEGER, depth AS INTEGER = 32, mode AS INTEGER = 0, vsync AS INTEGER = 1 ) As integer

DIM SHARED Graphics3D AS FUNCTION (Widtha AS INTEGER,height AS INTEGER, depth AS INTEGER = 32, mode AS INTEGER = 0, vsync AS INTEGER = 1 ) AS INTEGER 

Graphics3D = DYLIBSYMBOL( library, "_xGraphics3D@20" )

FUNCTION xGraphics3D (Widtha AS INTEGER,height AS INTEGER, depth AS INTEGER = 32, mode AS INTEGER = 0, vsync AS INTEGER = 0 ) AS INTEGER 
   Graphics3D (Widtha ,height , depth , mode , vsync  ) 
   RETURN 0 
END FUNCTION   




Soooo wäre das cool....

Code:

DLL = DYLIBLOAD( "Xors3D" )

DECLARE ALIAS Graphics3D, DLL, "_xGraphics3D@20", (int,int,int,int,int) as integer

FUNCTION xGraphics3D (Widtha AS INTEGER,height AS INTEGER, depth AS INTEGER = 32, mode AS INTEGER = 0, vsync AS INTEGER = 0 ) AS INTEGER 
   Graphics3D (Widtha ,height , depth , mode , vsync  ) 
   RETURN 0 
END FUNCTION   



nur dahingeschmiert, aber kann man das ganze deklarieren auch weglassen?
das nervt ziemlich, habe 450 befehle bzw. funktionen auf diese art und weise zu machen, ist echt nervig.


[/code]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 21.10.2008, 08:41    Titel: Antworten mit Zitat

Mit dem DLL-Einbinden habe ich noch nie gearbeitet, aber mir fallen spontan zwei Dinge dazu ein:
1) Deklarationen in eine .bi auslagern (dann sind sie später auch wiederverwertbar)
2) Wenn ich eine Arbeit nicht selbst machen will, schreibe ich mir ein Programm dafür. happy
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Heiko



Anmeldungsdatum: 28.07.2008
Beiträge: 101

BeitragVerfasst am: 21.10.2008, 09:30    Titel: Antworten mit Zitat

zu 1. ähm genau das habe ich vor....es handelt sich dabei um eine .bi

naja und zu 2. ich kenn mich mit der syntax noch nicht genug aus, um das zu tun.
müsste eine datei einlesen, und eben so konvertieren.
mmm wollte mit diesem wrapper der freebasic gemeinde eine geniale 3D engine zur verfügung stellen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Heiko



Anmeldungsdatum: 28.07.2008
Beiträge: 101

BeitragVerfasst am: 21.10.2008, 21:30    Titel: Antworten mit Zitat

sorry wegen dem doppelpost hier.
aber ich hab was gefunden, leider hab ich nicht hundert prozent verstanden was es damit auf sich hat.

http://www.freebasic.net/forum/viewtopic.php?t=1581&highlight=pexport

kann mir das jemand erklären, und ob es nützlich sein könnte für mich?
p.s. ich nutze zwei dlls die zusammenhängen, wenn eine geladen wird.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 21.10.2008, 21:35    Titel: Antworten mit Zitat

ja, wenn du die anleitung im 2. post befolgst, kannst du mit einfachen DECALRE-Anweisungen arbeiten.
_________________
» 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
Heiko



Anmeldungsdatum: 28.07.2008
Beiträge: 101

BeitragVerfasst am: 21.10.2008, 21:52    Titel: Antworten mit Zitat

kannst du mir sagen, wie die dann aussehen würden?

wie würde das, auf diesem code basierend aussehen?

Code:
Dim library As Integer
Dim RasEnumConnections As Function (lpRasCon As Any, lpcb As Long,_
                                    lpcConnections As Long) As Long

RasEnumConnections = DyLibSymbol(library, "RasEnumConnectionsA")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 21.10.2008, 21:55    Titel: Antworten mit Zitat

Code:
DECLARE FUNCTION RasEnumConnections LIB "blubb.dll" ALIAS "RasEnumConnectionsA"(parameterliste)

_________________
» 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
Heiko



Anmeldungsdatum: 28.07.2008
Beiträge: 101

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

hab schon nen anderen weg gefunden, danke dir.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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