Borland C++ und GDI+



  • Hallo,

    ich möchte für mein neues Projekt GDI+ nutzen. Leider finde ich keine Informationen wie man GDI+ unter Borland nutzen kann. Hat jemand Beispiele, ein Tutorial oder etwas SourceCode, wie man GDI+ in einene C++-Programme nutzt.

    Pronto451

    PS. Wenn ich einfach versuche mit #include <GDIPlus.h> GDI+ einzubinden, bekomme ich schon in den Header-Files verschiedene Errors. Was muß man da Einstellen um das ganze zu compilieren ?



  • Pronto451 schrieb:

    Wenn ich einfach versuche mit #include <GDIPlus.h> GDI+ einzubinden, bekomme ich schon in den Header-Files verschiedene Errors. Was muß man da Einstellen um das ganze zu compilieren ?

    Damit GDI+ mit dem BCC funktioniert, mußt du das Macro STRICT definieren ("Projektoptionen|C++ Compiler|Pfade und Definitionen|Konditionale Definitionen" im BDS 2006, "Projekt|Optionen...|Verzeichnisse/Bedingungen|Definitionen" im BCB 6).

    Könnte eigentlich auch mal in der FAQ-Auflistung Erwähnung finden...





  • Habe das identische Problem mit CBuilder5

    Unit1.cpp

    #define STRICT
    #include <windows.h>
    #include <algorithm>
    using std::min;
    using std::max;
    #include <gdiplus.h>
    
    #include "Unit1.h"
    

    Unit1.h

    private:	// Anwender-Deklarationen
    Gdiplus::GdiplusStartupInput gdiplusStartupInput;
    ULONG_PTR  gdiplusToken;
    

    Habe Header-Ordern included und Ordner mit der LIB, sowie Compiler das STRICT=1 hinzugefügt, aber bekomme GdiplusEnums.h(545), GdiplusHeaders.h(681) und massenweise GDIAPI.hpp Fehler. Habe ich etwas vergessen?



  • btw wie kommt man an die aktuelle DLL/LIB/HEADER für GDI+? Auf der Microsoftseite steht was von über 1GB und das ich mir die komplette "Windows SDK for Windows Server 2008 and .NET Framework 3.5" runterladen muss. Ich habe nur ISDN und brauche dafür ja Jahre 😞 😞 😞



  • Niemand mit einem Tipp? Würde auch gern bissle mit GDI+ spielen wollen. 😞



  • Idus schrieb:

    Habe ich etwas vergessen?

    Die Fehlermeldungen.



  • Über den Link: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm
    Habe ich mir die aktuellen Headerdateien runtergeladen
    (C:\Programme\Microsoft SDKs\Windows\v6.1\Include enthält dann 31 GdiPlus*.h Dateien)
    Dann habe ich mir noch die gdiplus.dll (5.1.3102.2180) besorgt und eine LIB daraus erstellt: implib -c -f gdiplus.lib gdiplus.dll
    Die Header Dateien über Projekte->Option->Verzeichnisse eingebunden und die LIB Datei direkt in Projektverwaltung eingefügt und die DLL in Projektordner kopiert.

    Compiler sagt dann

    [C++ Fehler] GdiplusTypes.h(744): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
    [C++ Fehler] GdiplusTypes.h(721): E2451 Undefiniertes Symbol 'Types'
    [C++ Fehler] GdiplusTypes.h(731): E2451 Undefiniertes Symbol 'Types'
    [C++ Fehler] GdiplusTypes.h(733): E2158 Operand von 'delete' darf kein const-Zeiger sein.
    [C++ Fehler] GdiplusHeaders.h(196): E2293 ) erwartet
    [C++ Warnung] GdiplusHeaders.h(635): W8022 'Bitmap::Clone(const Rect &,int)' verbirgt virtuelle Funktion 'Image::Clone()'.
    [C++ Fehler] GdiplusFlat.h(2345): E2108 Ungültige Verwendung von typedef 'UINT'
    [C++ Fehler] GdiplusFlat.h(2345): E2293 ) erwartet
    [C++ Fehler] GdiplusFlat.h(2353): E2108 Ungültige Verwendung von typedef 'UINT'
    [C++ Fehler] GdiplusFlat.h(2353): E2293 ) erwartet
    [C++ Fehler] GdiplusFlat.h(2387): E2188 Ausdruckssyntax
    [C++ Fehler] GdiplusFlat.h(2390): E2293 ) erwartet
    [C++ Fehler] GdiplusPath.h(113): E2316 'Types' ist kein Element von 'PathData'
    [C++ Fehler] GdiplusPath.h(115): E2316 'Types' ist kein Element von 'PathData'
    [C++ Fehler] GdiplusPath.h(116): E2316 'Types' ist kein Element von 'PathData'
    [C++ Fehler] GdiplusPath.h(133): E2316 'Types' ist kein Element von 'PathData'
    [C++ Fehler] GdiplusPath.h(134): E2316 'Types' ist kein Element von 'PathData'
    [C++ Fehler] GdiplusFontFamily.h(113): E2316 'FontFamily::Clone() const' ist kein Element von 'FontFamily'
    [C++ Fehler] GdiplusFontFamily.h(118): E2034 Konvertierung von 'FontFamily *' nach 'int *' nicht möglich
    [C++ Fehler] GdiplusFontFamily.h(122): E2316 'GetFamilyName' ist kein Element von 'FontFamily'
    [C++ Fehler] gdiplus.h(77): E2190 Unerwartetes }

    Nun würde ich mich echt freuen wenn mir wer sagt was ich falsch habe. 😞



  • In dem Link, den Jansen gepostet hat, steht auch ein Link zur Lib inklusive Dll.



  • Das hatte ich zuerst ausprobiert und ebenfalls andere Gdi*.h Compiler-Fehler. Da die Dateien dort 8 Jahre alt sind, sollte es auch nicht schaden das mal zu aktualisieren.


Anmelden zum Antworten