JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=7e2f2e597f7ce660379f2c54d31f6835Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Strukturn aus DLLs

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Starwash
Senior JLI'ler


Alter: 40
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 14.02.2003, 11:29    Titel: Strukturn aus DLLs Antworten mit Zitat

Hi,
ich habe einige DLL geschrieben, welche unteranderem Strukturen bieten sollen, nun würde ich gerne wissen, wie ich diese Strukturen nutzen kann, dafür würde ich gerne wissen, wie ich es dynamisch lade und wie statisch.
"Normale" Funktionen kann ich ohne Probleme dynamisch und statisch laden.
Ach ja, die Struktur in der DLL sieht so aus:
Code:

struct __declspec(dllexport) _Point2f{
 float x;
 float y;
};


Und kann man eigentlich auf Variablen in einer DLL speichern und dann Nutzern zur Verfügung stellen?

Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kampfhund
Super JLI'ler


Alter: 42
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 14.02.2003, 13:45    Titel: Antworten mit Zitat

es gibts soweit ich weiß zwei arten von dll einbindung.

statisch:
mittels einer lib datei, die zu der exe, die die dll verwendet, hinzugelinkt wird.

dynamisch:
bei der dynamischen art werden funktionen, die in einer tabele in der dll aufgelistet sind mit GetProcAddress geladen.

Neue Strukturen kannst du nur verwenden, wenn du den header mit in die exe includierst und es dann kompilierst.

Du kannst aber auch eine Basisklasse erstellen.
In der dll sind dann abgeleitete klassen und eine Funktion, die instanzen der abgeleiteten klassen erstellt. Die funktion kannst du dann dynamisch oder statisch in die exe mit einbinden und so instanzen der abgeleiteten klasse erstellen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 14.02.2003, 13:52    Titel: Antworten mit Zitat

Hmm, so ganz genau weis ich das nicht mehr, hab schon lange nicht mehr mit DLLs gearbeitet, du musst das so machen (denk ich):
1) Du kopierst die DLL und die .lib Datei aus dem Debug verzeichniss des DLL-Projekts in das Verzeichniss des Projektes, in dem du die DLL verwenden willst.
2) Die lib über Projekt->Einstellungen->Linker normal hinzufügen
3) Dann in der Datei, wo du die Klasse verwenden willst:
Code:

#include "GenauerPfadDerDateiInDerDieKlasseDeklariertIst.h"

4) jetzt weis ich nicht mehr genau wie man dann ein Objekt der Klasse erzeugt:
Code:

//Entweder so:
__declspec( dllimport ) cKlasse KlassenObjekt;
//oder so:
cKlasse KlassenObjekt;


Weis nicht mehr so genau wie das geht, sry Sad
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Starwash
Senior JLI'ler


Alter: 40
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 14.02.2003, 15:11    Titel: Antworten mit Zitat

Hey!
Wie ich eine DLL nutze, statisch und dynamisch weiß ich, aber ich weiß halt nicht, wie Strukturen daraus entnehme...
Funktionen kriege ich ohne Probleme hin...

@VerruecktesHuhn:
Danke, ich werds mal ausprobieren.

Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kampfhund
Super JLI'ler


Alter: 42
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 14.02.2003, 15:17    Titel: Antworten mit Zitat

steht doch da:

Zitat:

Neue Strukturen kannst du nur verwenden, wenn du den header mit in die exe includierst und es dann kompilierst.

Du kannst aber auch eine Basisklasse erstellen.
In der dll sind dann abgeleitete klassen und eine Funktion, die instanzen der abgeleiteten klassen erstellt. Die funktion kannst du dann dynamisch oder statisch in die exe mit einbinden und so instanzen der abgeleiteten klasse erstellen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
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.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum