GDI+



  • Hi!
    Mein Problem: Microsoft hat dieses oder letztes ne "neuere" Version von GDI rausgebracht .. also GDI+! Wenn ich das jetzt benutzten will sind die meisten (oder alle) Funktionen, nachdem ich sie eingebunden habe, für den Borland C++ Builder 6 nicht verständlich (vermute mal das is mit Visual C++ geschrieben)!

    In den Projekt Optionen hab ich die Pfade natürlich angegeben, wo sich die Header etc. befinden. Die Bibliotheken von Microsoft stehen dabei an letzter Stelle, da er meckert wenn ich se an erste Stelle setzte. Weiter ist die Compiler Einstellung "Sprachkonvention" (unter Erweiterte Compiler Einstellungen / Advanced Compiler) auf "Borland" und nicht "ANSI", "Unix V" usw. gesetzt.

    Kann mir da jemand bitte weiterhelfen, wie ich das zum laufen bring / lösen kann?

    Danke im Voraus für eure Mühe!!



  • Hast Du Dir schon ne neue LIB aus der DLL generiert (Implib) und die neueste bzw. dazugehörende Header-Datei verwendet ?



  • LIB aus DLL generieren? Hör ich zum ersten mal ;)!
    Also, nein hab ich noch nicht gemacht! Wie mach ich das?
    Hab bis jetzt nur den Pfad bei "Include" und "Bibliotheken" eingegeben (als letztes).

    Wegen der Header Datei hab ich mich ans SDK gehalten und genau die genommen also "gdiplus.h" (eingebunden als <gdiplus> )



  • hallo,

    bei GDI+ handelt es sich um einen Bestandteil des DotNet-Frameworks, ich bezweifle stark, das die überhaupt mit dem CBuilder nutzbar ist. kann mich aber auch täuschen...

    mfg
    murph



  • @<murph>
    Doch, die GDI+ hab ich selber schon verwendet. Funktioniert gut.
    @<CyberCraCk>
    Schmeiss mal die Forumssuche an zum Thema IMPLIB, ich meine, da gibts was dazu. Kann im Moment nix probieren, auswendig weiss ich die Anwendung gerade nicht 😉



  • Danke erstmal für eure Hilfe !!

    Hab mal IMPLIB ausprobiert und hat sich eigentlich ganz vielversprechend angehört aber das Programm stürzt bei mir mit 4 Fehlermeldungen ab! .. leider 😞
    Weiss nich worans liegt .. vielleicht auch ein bedienungsfehler :D, hab zumindest versucht die GdiPlus.lib aus \MicrosoftSDK\lib\ in irgendwie was umzuwandeln 🙂
    Ausgabe Datei sollte erstmal ne .txt sein um mir das anzuschaun aber wie gesagt funktioniert leider nicht.

    Sonst noch ne Idee? 😉



  • Denkfehler ! IMPLIB erzeugt aus einer DLL eine LIB ...



  • Hmm, also es gibt versch. GDI*.h und zwei GDI*.lib Files aber was .dll Files angeht hab ich nix zu GDI gefunden also bringt mich IMPLIB auch nicht weiter denk ich 😉 trotzdem danke!

    Hat jemand vielleicht noch ne Idee?

    Was mir nur aufgefallen ist, das im SDK steht das man das alles einfach in den VC++ Compiler von Microsoft einbinden kann aber wieso versteht es der Borland dann nicht?



  • weil Borland und Microsoft sich nicht auf ein Format einigen konnten und werden.
    IMPLIB macht deshalb aus dem Format von Mirosaft ein Format von Borland.



  • Ähhh 🙄 Wenn Du ne neue DLL hast aber immer noch mit ner alten LIB rumgurkst, wirst Du nie Zugriff auf die neuen Funktionen kriegen. Du brauchst also UNBEDINGT eine LIB die zur DLL passt, dementsprechend natürlich auch die entsprechende Headerdatei in der die neuen Funktionen deklariert sind.
    Ne LIB kannst Du, wie gesagt, per IMPLIB aus der DLL erzeugen und die Header Datei hast Du ja schon, oder ? Dann sollte es eigentlich keine Probs geben.



  • Hmm gut soweit is jetzt alles klar! 😉
    Ich brauch ne .dll und alles was dazu gehört um dann eine .lib daraus zu erstellen die ich im Borland benutzen kann!?
    Nur, woher nehm ich die .dll?
    Ich hab das SDK mal durchsuchen lassen nach allen .dll's, .h's und .lib's und für GDI+ hab ich nur .h's und zwei .lib gefunden aber leider keine offensichtlich passende .dll! Gibts da ne Möglichkeit heraus zu finden welche passend ist?
    Weiter sind da noch im ordner \src\mfc\ zwei .cpp GDI Dateien drin aber ich denk die bringen auch nix oder?



  • Hallo,

    Kann man nicht auch die Microsoft Libs mit Coff2omf in das Bolrand Format konvertieren ?



  • Hmm, wenn du mir sagst wo ich das Prog her krieg dann probier ichs sofort aus ;)!



  • GDI+ ist eine DLL und heißt GDIPLUS.DLL, wenn ich mich nicht irre. Dieses Teil ist Bestandteil von XP kann aber auch unter z.B. W2K verwendet werden. Da muß man sich die DLL halt separat von Winzigweich besorgen.



  • und coff2omf liegt im CBuilder\bin Verzeichnis



  • Ok danke alle 😉

    Werd das jetzt mal ausprobieren .. diese GdiPlus.dll hab ich letztendlich gefunden 😉 in einem Ordner namens:
    \WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.10.0_x-ww_712befd8\

    und noch einmal in einem ähnlichen Ordner .. beide haben unterschiedliche Größen was mich verwirrt aber gut .. ich nehm die größere, die hat ein neueres Erstellungsdatum!

    Problem: "implib.exe" funktioniert dennoch nicht 😮
    Bekomm wieder drei Fehlermeldungen!
    Befehlszeile: implib GdiPlus.dll @Gdi.txt
    Habs auch schon mit @Gdi.lib ausprobiert aber selbes Problem!

    Das mit COFF2OMF probier ich gleich mal 😉



  • Das Prog COFF2OMF funkst wenigstens :D!

    Also, habs ausprobiert:
    Input Datei ist die "GdiPlus.lib" die 202 KB groß ist.
    Output Datei hab ich "PlusGdi.lib" angegeben die nach der convertierung 49 KB klein ist.
    Aufruf: coff2omf GdiPlus.lib PlusGdi.lib

    Ich hab das jetzt drei Mal ausprobiert. Beim zweiten und dritten Versuch hab ich alles in einen Ordner gepackt - die ganzen .h Dateien und die .lib, was nichts geändert hat.
    Die .h Dateien bleiben ja dabei unverändert und beim Ausprobieren hab ich dann die "gdiplus.h" eingebunden was wieder zu "einer" Fehlermeldung in einer .h Datei geführt hat .. was muss ich mit den .h Dateien machen?



  • Du müsstest vor allem mal nicht nur die Zahl der Fehlermeldungen mitteilen sondern auch, welche Fehler auftreten! 😉



  • Also mit

    implib gdiplus.lib gdiplus.dll
    

    erstellt mir IMPLIB astrein ne LIB, ohne Probleme. Mußt nur noch checken ob Du eine der Optionen brauchst.

    -a     Add '_' alias for MS flavor cdecl functions
    -c     Case sensitive symbols
    -f     Force imports by name (with hints)
    -w     No Warnings
    

    Ich meine, bei meinen Versuchen damals brauchte ich die nicht.



  • Hehe .. gut in der Help vom Borland über IMPLIB steht eine bisschen andere Syntax von den Parametern aber vielleicht hab ich auch nur mal wieder was falsch verstanden ;)!
    Funktioniert bei mir mit der Befehlszeile auch 😃 .. danke!

    Naja, wie gehts jetzt weiter? Mit den .h Files kann ich leider auch nicht viel anstellen weil der Borland immernoch Fehler bringt - muss ich die auch irgendwie umwandeln oder so?

    @Jansen
    Hab ich mir auch schon überlegt ob es nicht besser wäre die Fehlermeldungen hin zu schreiben aber ob das Hilft:
    "Es ist ein schwerer Ausnahmefehler aufgetreten!" 😃 :p



  • Beim Builder 6 sind Headerfiles für GDIPlus mit dabei. Findest Du im Include Verzeichniss. Relevant ist wohl nur die gdiplus.h, da diese die anderen gdi*.h Files mit einbindet.


Anmelden zum Antworten