Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » DLL aus KLassen erstellen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.08.2007, 13:29 Uhr
cmos



Hallo,
ich hab in der Sufu schon ein paar Informationen zu DLL erstellen gefunden aber noch nicht das passende für mich. Ich habe 2 Klassen und möchte diese in eine DLL packen, diese soll man
später in VB verwenden können.
Es geht um Auswertung von Höhendaten (DTED). Eine Klasse dient quasi nur
zum Datenaufnehmen und Werte zurück geben. Die andere Klasse liest alles aus der
Datei aus und führt Berechnungen aus. Und nur auf Funktionen dieser einen Klasse soll
man Zugriff haben.
Ich hab im Moment nichtmal einen Ansatz dafür wie das funktionieren soll.
Kann mir bitte jemand unter die Arme greifen ?

Grüße,
cmos
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.08.2007, 08:55 Uhr
cmos



Hallo,
ich habe eine DLL und lib Datei erzeugt, allerdings aus Funktionen.

diskfree.h

C++:
#ifndef __DISKFREE_H
#define __DISKFREE_H
#ifndef __DISKFREE__
#define __DISKFREELIB__ __declspec(dllimport)
#else
#define __DISKFREELIB__ __declspec(dllexport)
#endif
__DISKFREELIB__ unsigned long DiskFree(unsigned int drive);
#endif



diskfree.cpp

C++:
#include <afx.h>
#include <winbase.h>

#define __DISKFREE__

#include "diskfree.h"

__DISKFREELIB__ unsigned long DiskFree(unsigned int drive)
{
    unsigned long bytesPerSector, sectorsPerCluster, freeClusters, totalClusters;
    char DrivePath[4] = {char(drive+65),':','\\','\0'};

    if(GetDiskFreeSpace(DrivePath,&sectorsPerCluster,&bytesPerSector,&freeClusters,&totalClusters))
    {
        return sectorsPerCluster * bytesPerSector * freeClusters;
    }
    else
    {
        return 0;
    }
}



Das funktioniert alles sehr prima, aber sobald es um Klassen geht, gehts los mit Fehlermeldung. Würde ich das in eine Klasse packen wollen , wie würde dann die
der Code dafür aussehen ?
Ich habe __DISKFREELIB__ unsigned long CDisk:iskFree(....);
probiert. Bis zum kompilieren gehts, aber wenn es an das Erstellen der DLL geht kommen Fehlermeldungen. DiskFree ist kein Element von ... usw.

Grüße,
cmos
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.08.2007, 10:48 Uhr
cmos



Hallo,
ich habe es jetzt zum laufen gebracht. Jetzt stellt sich die Frage,
wie kann jemand diese DLL in VisualBasic benutzen ?
Die DLL ist für jemanden gedacht der mit VB arbeitet.
Der kann schlecht irgendwelche header einbinden und eine Instanz erzeugen.

grüße,
cmos
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: