Globale Variable oder wie sonst



  • Hi Leute,
    jetzt hätte ich mal ne frage:
    es heisst ja immer das globale Variablen so schlecht sind, aber wie könnte ich dieses Problem sonst lösen:

    Hab hier ne DLL zum Fehler protokollieren:

    TCHAR *szFileName;
    
    bool SetFileName(TCHAR *szNewFileName);
    void WriteErrorToLog(int iErrNr);
    

    so WriteErrorToLog "wandelt" die Error Number in nen String um und speichert es mit dem Datum/Uhrzeit in "szFileName"(wir in der "DllMain" auf "log.txt" gesetzt)

    Da ich jetzt nicht immer die Datei angeben will in der es gespeichert werden soll
    z.B.

    WriteErrorToLog(GetLastError(), "log.txt");
    

    , hab ich mir gedacht das wäre ne gute Lösung!?

    Sagt mir bitte Gründe warum hier die globale Variable schlecht ist und wie man es besser lösen könnte. 👍

    Gruß an alle
    PinguGroup



  • PinguGroup schrieb:

    es heisst ja immer das globale Variablen so schlecht sind...

    globale variablen sind nicht per definition schlecht. wenn sie dir einen vorteil bringen, dann kannst du sie ruhigen gewissens einsetzen. mach sie 'static', damit werden sie vor anderem code versteckt.
    🙂



  • Hi PinguGroup!

    Ich empfehle dir, halte dich in Sachen Variablen einfach an folgenden Grundsatz:

    "So lokal wie möglich, so global wie nötig!"

    Ich bin der Meinung, wenn die globalen Variablen nötig sind, damit es so funktioniert,
    wie du es haben willst, dann lass sie so stehen.
    Mag ja sein, dass es vll andere/bessere Lösungen für verschiedene Probleme gibt,
    aber wenn es so hinhaut, warum dann alles umschmeißen? 😕



  • Hi und seit ihr schon fit nach dem Rosenmontagsball !?
    ich schon 😃

    Alles klar danke für eure Antworten

    "So lokal wie möglich, so global wie nötig!"

    Werde ich beachten 👍

    Bye Bye



  • Immer wieder gerne! 😉


Anmelden zum Antworten