C++ oder C



  • berniebutt schrieb:

    Hallo Darter,

    das hat alles mit der Unterscheidung von C oder C++ nicht das geringste zu tun.

    Du willst aus einer DLL ein Bild (bmp) laden und dieses im Programm einsetzen. Dafür lädst du erst einmal die DLL mit hLibrary = LoadLibrary("name.dll"). Wenn hLibrary ungleich null ist die DLL verfügbar. Jetzt steht da irgendwo in der DLL das Bild (es können mehrere sein). Dieses bekommst du mit hBitmap = LoadBitmap(hLibrary, ...) geliefert. Liefert hBitmap ungleich null hast du das Bild, ansonsten ist der Aufruf von LoadBitmap unvollständig oder falsch.

    Teile bitte mit, wie die DLL erstellt ist und wo sich darin das Bild befindet!

    Ich verwende für diesen Zweck den Vorschlag von Charles Petzold zur Bildung einer reinen Bitmap-DLL und besorge mir dann das gewünschte Bild mit:
    hBitmap = LoadBitmap(hLibrary,MAKEINTRESOURCE(intResource));

    Noch ein Vorschlag: überprüfe bei solchen mehrstufigen Dingen stets die Rückgabewerte der WinApi-Funktionen. Dann weisst du genau, wo etwas klemmt. Deine Fragestellung hat einige hier irritiert und eine unnötige Diskussion ausgelöst. :p

    Danke für den beitrag aber ich glaube du hast es nicht ganz verstnden.

    ALso nochmal:

    Ich will aus der Dll kein Bild laden sondern ich übergebe der dll einen Path zu einer Bilddatei, die dann in den Koordianten die als int, parameter auch der dll übergeben werden. Diese dll Such dass innerhalb den angegebenen Koordinaten nach diesem Bild. Verstanden?

    Wenn nun diese Bild(den path den ich übergeben habe) in dem Rechteck gefunden wurde, gibt mir die Funktion in der Dll einen String mit den x und y Koordinaten, welche durch ein | getrennt sind zurück. Wurde das Bild nicht Gefunden erhalte ich auch einen String indem eine 0 steht.

    Ach ich sollte vllt erwähnen es wird natürlich überpüft, was gerade auf dem Bildschift angezeigt wird(vllt deshalb die unklarheiten).

    mfg Darter



  • AfroMan with Peace schrieb:

    Die Antwort auf alle Fragen ist: Google!

    In pure WinApi zu programmieren ist dumm und macht krank.
    Such dir eine GUI-Bibliothek wie http://sourceforge.net/projects/wtl/ und verwende diese.

    Und ob C besser ist als C++: Google!

    Ich hab die GUI Bibliothek mal ausprobiert. Leider funktioniert bei mir ncihtmal eines der mitgelieferten Samples.

    mfg Darter :schland:



  • Hi

    C++ kann <alles> was C kann, fügt aber neue sachen hinzu.

    Ja klar aber nur in dem hinblick ,das dir sachen erleichtert oder abgenommen werden (abstraktion).!! Und sonnst nichts !!

    Dass wir das Thema auch gleich abhacken können ,

    C equ C++

    lowbyte



  • lowbyte_ schrieb:

    C equ C++

    Das geht jetzt aber auch nicht mehr unwidersprochen durch! 🕶



  • Hi

    Schon klar !
    Glaube weisst was ich meine.

    lowbyte



  • Ja klar aber nur in dem hinblick ,das dir sachen erleichtert oder abgenommen werden (abstraktion).!! Und sonnst nichts !!

    Huh?
    Templates. Bessere Typensicherheit.

    Um nur mal 2 Gründe jenseits oop/Abstraktion zu nennen 😉



  • Hi

    Klar bietet dir die Sprache gewisse Vorteile, von wegen Sicherheit, Objectorientiert etc. Doch ein Sicherheitsbewuster C Programmierer nimmt auch diese Hürde. Und schon sind wir wider beim Thema (Abstraktion) in gewisser weise.

    Will man ein kleiner Absatz aus einem C Buch posten.

    Viele Leute raten von C ab, da C keinen objektorientierten Ansatz mitbringt und man sich um die Speicherverwaltung selbst kümmern muss, was einige Gefahren mit sich bringt. Ich bin der Meinung, dass Sie mit C eine gute Wahl getroffen haben. Die Tatsache, dass man bei C vieles selbst von Hand erledigen muss, sehe ich eher als Vorteil an. Durch den Umgang mit diesen Unbequemlichkeiten stellt sich ein hohes Verständnis für das Betriebssystem und die Arbeitsweise Ihres Computers ein.

    C-Programmierung schafft so eine solide Grundlage, die es Ihnen ermöglicht, andere Sprachen schnell zu verstehen, zu erlernen und einzusetzen, da Sie ein grundsätzliches Verständnis von dem haben, was der Computer im Hintergrund tatsächlich macht.

    Aber C ist in meinen Augen keinesfalls eine Sprache, die nur zum Einstieg und Lernen der Programmierung dient. Im Gegenteil, mit C können Sie im Grunde alles programmieren – auch einen eigenen objektorientierten Ansatz oder eine komfortable Speicherverwaltung. Nicht ohne Grund sind fast alle modernen Betriebssysteme in C geschrieben.

    Das sind die Gründe warum ich in C schreibe.(zu 90%)

    lowbyte



  • lowbyte_ schrieb:

    Das sind die Gründe warum ich in C schreibe.(zu 90%)

    Weil du so viele Betriebssysteme entwickelst?



  • Hi

    Lassen wir es einfach.

    lowbyte



  • Hi

    Oder auch nicht.

    In erster Linie wegen der WinApi-Schnittstelle, die ist weiterhin in ANSI C gehalten !Sehr viele Lib's die in C gehalten sind. Desweiteren denke ich dass C die (muss) Sprache für viele Bereiche ist. Bsp.(Crypto).
    Im übrigen habe ich nichts gegen C++, doch mir ist C Code viel lieber und übersichtlicher !

    Egal ob C oder C++ mit beiden Sprachen kann man machen was man will. Sind sehr Hardware nah und sind schnell bei Ausführung. Schneller ist nur Assembler.
    Aber bei manchen Sachen ist C einfach pflicht, und da haben andere Sprachen nicht verloren.(Geht zum teil garnicht)

    lowbyte



  • @lowbyte_
    Lass dich nicht in die Enge treiben mit deinen Ansichten zu diesem Thema. Mit C versus C++ ist nun einmal sehr viel Dogmatismus dabei. Eigentlich völlig unsinnig, aber vorhanden. Das ist so ähnlich wie in den christlichen Kirchen: katholisch - orthodox - evangelisch.


Anmelden zum Antworten