Tipps gesucht für Programmstruktur/aufbau



  • Hallo Forum,

    ich muss eine DLL schreiben die folgende Funktion haben muss:

    der 1. Funktionsaufruf soll eine DB-Initialisierung sein und boolean als
    Ergebnis zurückliefern.

    Folgende Funtionsaufrufe führen div. DB-Operationen durch, die sich auf
    die DB-Verbindung des 1.Aufrufes beziehen sollen und verschiedene
    Ergebnisse (boolean, Strings, etc) zurückliefern

    Der letzte Aufruf soll die DB wieder schließen.

    Wie muss ich die DLL strukturieren, damit sich die DB-Operationen auf die DB-Verbindung des 1.Aufrufes beziehen.
    Zur Zeit ist es so, das die DB-Initialisierung funktioniert, jedoch mit Funktionsende auch wieder verloren ist. Wie kann ich DLL anders strukturieren, damit sie die DB-Session aufrecht erhält?

    Mit Dank und Gruß,
    Eric



  • so in etwa?

    class Session
    {
     bool bInitialized;
    }
    
    Session* pSession=NULL;
    char* sLastError;
    
    bool Init()
    {
     pSession=new Session;
     pSession->bInitialized = true;
    }
    
    bool DoSth()
    {
     if( pSession == NULL || pSession->bInitialized == false )
     {
       sLastError="##error uninitialized";
       return false;
     }
     return true; 
    }
    


  • kann sein!?

    Ich bin C/C++ leider noch nicht wirklich zu hause, programmiere mehr in JAVA,
    wofür ich die DLL auch benötige (JAVA-Native-Interface)

    Wo bei mir der Groschen noch nicht fällt:
    Ich initialisiere eine Session. Wenn die Funktion beendet ist,
    warum bleibt die Session dann erhalten. Wird nicht mit Programmablauf die kompl. Laufzeitumgebung gelöscht?

    Gruß,
    Eric



  • sicher, die session muss irgendwo gespeichert werden, aber normalerweise müsste der server sich darum kümmern(oder irre ich mich?)



  • mein Problem ist das es keine SessionID oder einen Handel auf die Session gibt. Und meinen versch. Versuchen nach die DB die Session abbaut, wenn die
    Laufzeit in der DLL beendet ist.

    Welche Möglichkeiten hätte ich denn um die Laufzeit der DLL aufrecht zuerhalten oder die Session zwischenzuspeichern?

    Gruß,
    Eric



  • dateien zb


Anmelden zum Antworten