Modulare 3D-Engines



  • @rapso
    Ok, danke. Dann ist es genau so wie ich es mir gedacht habe und wie ich es auch gemacht hätte *ggg*.

    Wie sieht dann das in den DLLs eigentlich aus? Hast du da drin dann nur die Klassendefinition? Wie greifst du richtig auf das Objekt zu? Du hast zwar das Interface, aber wie sagst du dem Interface, dass es sich jetzt um die Klasse für BMP handelt und nicht um die Klasse für GIF?


  • Mod

    in dem konkreten fall, kann es ja sein dass es mehrere klassen für die selbe dateiendung gibt, deswegen versucht die imager.dll jedes plugin durch bis entweder eines das bild geöffnet hat oder keines mehr vorhanden ist in der list.
    beim speichern gibst du ja die datei dann an blabla.bmp und dann wird auch einfach gespeichert... vielleicht müßte man da ne möglichkeit für einen setup dialog einbauen oder so, das war ja auch schon vor langem als ich das gemacht hab, deswegen weiß ich das interface auch nicht mehr 100%ig auswendig.

    auf das objekt greift man beispielweise folgend zu:

    //irgendwo in nem header:
    class CImageBMP : public IImage
    {
    public:
    //funktionen überladen
    }
    
    //irgendwo in nem cpp dann die definition
    .
    .
    .
    
    //in der maindll.cpp
    
    #inlclude "image.hpp"
    
    CImage g_Image;
    
    IImage* ImageInterface()
    {
    return g_Image;
    }
    

    dabei kann man in diesem fall CImage auch schön als singleton aufbauen.

    rapso->greetS();


Anmelden zum Antworten