Char array aus einer DLL übergeben?



  • Tach,

    wie wird eine Char[64] aus einer DLL übergeben?

    Wo muss ich da was ändern?

    #define EXP_CHAR __declspec( dllexport ) char __stdcall
    
    EXP_CHAR GFC (char*t);
    

    oder muss da was in der eigendlich funktion geändert werden?

    EXP_CHAR GFC(char*t)
    {
    
      return('Testlauf');  
    }
    

    Danke schon mal.



  • also, deine Funktion EXP_CHAR gibt nciht char[64]zurück, sondern char

    Außerdem muss man Zeichenketteni n doppelte Anführungszeichen packen.
    Und drittens geht das so wie du das machst gar nciht: WEnn die Funktion zurückkehrt, wird zwar die Adresse der zurückzugebenden Zeichenkete übergeben, die Zeichenkette selber existerit aber gar nicht mehr, weil sie ihren Gültigkeitsbereich verlassen hat. Der zrückgegebene zeigt also ins Nirvana.
    char* gibt man ambesten über einen parameter zurück (char*, für den schon speichern resierviert wurde)



  • #define EXP_CHAR __declspec( dllexport ) char[64] __stdcall
    
    EXP_CHAR char_out;
    
    void GFC(char*t, EXP_CHAR char_out)
    {
      char_out="Testlauf"; // Gut ich weis das die zuweisung nicht richtig ist aber das ist jetzt zweitrangig  
    }
    

    @Maxi: Ich habs glaub nicht ganz verstanden, aber meinst du es etwa so?



  • Dieser Thread wurde von Moderator/in davie aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Log in to reply