Den reinen Dateinamen herausbekommen ?



  • Hepi schrieb:

    Du rufst in Deiner Funktion dort 3 Funktionen auf, ich eine... siehst Du nicht den geringeren Aufwand bei meiner Lösung?

    Ich sehe wirklich keinen geringeren Aufwand sonst würde ich deine Version empfehlen und nicht meine. 🙂
    In deiner Aussage steckt ein Logikfehler. Egal.. darauf geh ich weiter unten ein..

    Hepi schrieb:

    Wobei ich ja nichtmal darauf rumreiten würde, wenn Du nicht deine "ich habe gepostet, thread muß zu, es braucht keine weitere Lösung mehr" Attitüde rausgeholt hättest. Das war unnötig!

    Ich sagte lediglich: "Die von mir gepostete Lösung tut dasselbe und ist unabhängig von DLLs und Co." Die Stelle mit dem "Thread muss zu" finden wir nicht. Hilf uns bitte!

    Hepi schrieb:

    Der nötige Code, um die DLL einzubinden, gestaltet sich für den Programmierer wie folgt:

    #include <shlwapi.h>
    
    #pragma comment(lib, "shlwapi.lib") //bei Verwendung des Visual Studios
    

    Einspruch: Das mag für die VisualStudio nutzer gelten und das sind die wenigsten im WINAPI-Forum. Ich habe es nie benutzt denn ich habe nicht das Geld dazu als Schüler. Und der Frager stellte eine Frage, die ein professioneller Coder der das beruflich tut ehh nicht stellen würde. Demnach hat auch er nicht das Geld für ne teure IDE und nutzt höchstwahrschneinlich wie ich den BCC 5.5.
    Die Handhabund der DLL bei dynamischem EInbinden sieht bei mir so aus:

    bool meineFunktion()
    {
        HMODULE hDLL; 
        DLLFUNCTION1PROC dllf = NULL; //muss auhc noch separat definiert werden
    
        hDLL = LoadLibrary("DLLNAME.DLL"); 
        if (hDLL == NULL) { 
            return false; 
        } 
        dllf = (DLLFUNCTION1PROC)GetProcAddress(hDLL, TEXT("NameDerFunktion")); 
        if (dllf == NULL) { 
            return false; 
        } 
    
    	DWORD fff;
        if((dllf(&fff, NULL)))
    		{
    		FreeLibrary(hDLL); 
    		return true;
    		}
    	FreeLibrary(hDLL); 
    	return false;
    }
    

    Das ist doch etwas mehr. 😉

    [quote="Hepi"]
    Ich kann Dir allerdings versichern, das ich schon DLLs in Programme eingebunden habe, als Du noch nichtmal in der Lage warst, einen Computer einzuschalten.

    Versichern solltest du nicht so viel. Immer unverbindlich bleiben! 😉
    Bin 17 und beschäftige mich er st seit 3 Jahren mit Computern. Wenn du viel älter bist ist das möglich.

    [quote="Hepi"]
    Ich kenne den Programmieraufwand, und genau deshalb präsentiere ich dem Fragesteller lieber eine Funktion mit einer einzigen Zeile anstatt mir erst mühsam eine halbgewalkte Lösung auszudenken und sie dann mit seinen 15 Zeilen Code zu präsentieren (das ist dann nämlich noch mehr Aufwand für den Programmierer, alleine schon die Tipparbeit).

    Es ist keine Tipparbeit nötig. Ich kann dir über ICQ die Funktionsweise von Copy/Paste gerne erklären! (ICQ: 213428403) Bei mir kann die Funktion sofort genutzt werde deine Lösung erfordert noch die DLL-Einbindung. Eine DLL enthält unzählige Funktionen. Man bindet für so eine winzige 0815-Funktion die man selbst soo einfach zusammenbekommt keine DLL ein. (es sei denn man möchte auch andere Funktionen aus der DLL nutzen) Wer für jeden Kleinkram ne DLL einbindet arbeitet meiner Meinung nach relativ ineffizient --> unprofessionell.

    Hepi schrieb:

    Willst Du ernsthaft behaupten, das Lösung ausdenken, 15 Zeilen schreiben, testen usw. weniger Aufwand ist als 1 WinAPI-Funktionsaufruf einzutippen?

    In der Tat. 15 Zeilen müssen nicht abgetippt werden sondern dein Stichwort heißt 'Copy/Past'. Die Funktion wird von mir in 2 Programmen seit Monaten erfolgreich eingesetzt und da gibt es absolut nichts zu testen. Bei mir muss man nur die Funktion einkopieren und kann sofort den funktionsaufruf ausführen. Bei dir muss erst die DLL eingebunden werden und anschließend die Funktion aufgerufen und dann die DLL wieder ausgebunden werden. Oder man lässt die DLL im Speicher und verschwendet ihn --> ineffiziente Speichernutzung --> unprofessionell.

    Hepi schrieb:

    Und weniger Rechenaufwand sehe ich bei Deiner Lösung auch keinen.

    Das nehme ich dir ab.

    Hmmm... schon amüsant mit dir darüber zu diskutieren. Ich bin davon überzeugt, dass ich Recht habe. Die Sache kann man aus drei Perspektiven sehen. Aus meiner, aus deiner und aus der objektiven. Aus der obejktiven ist unsere Diskussion wahrscheinlich ein Anlass zum Schmunzeln. Mögen die Mods mir vergeben aber ich musste antworten ;~)

    Mit freunldlichem Gruß.



  • Tolga schrieb:

    Aus der obejktiven ist unsere Diskussion wahrscheinlich ein Anlass zum Schmunzeln.

    richtig 👍 😃



  • hört endlich auf 🙄



  • ich findet die lösung von 0xdeadbeef im thread http://www.c-plusplus.net/forum/viewtopic.php?t=100720 am besten 😃


Anmelden zum Antworten