| Herd Software Entwicklung
|=
DaVinci Grafikbibliothek
|==
DaVinci Dokumentation Home Search Order


Umstieg von Version 2.x

Beim Übergang von DaVinci Version 2.x auf Version 3.x wurde das API von DaVinci grundlegend verändert. Dies macht Änderungen an den Quellcodes und Installationsprozeduren von existierenden Programmen notwendig, die DaVinci Version 3 nutzen wollen.

Neue und aufgewertete Funktionen In Version 3.x

DLL-Benennung

Um Konflikte mit Programmen, die auf DaVinci Version 2.x basieren, zu vermeiden, wurden alle DaVinci DLL-Dateien umbenannt,

Version 2.x Dateiname Version 3.x Standard Dateiname Version 3.x Professional Dateiname

DAVINCI.DLL DAV316.DLL DAV3_16.DLL
DAV32.DLL DAV332.DLL DAV3_32.DLL
LEON.DLL LEON316.DLL LEON3_16.DLL
LEON32.DLL LEON332.DLL LEON3_32.DLL

Dementsprechend verändern sich auch die Namen der .LIB-Dateien, mit denen Applikationen gebunden werden müssen.

Funktionsnamen

Version 2.x Funktionsname Version 3.x Funktionsname

BitmapFromDib BitmapFromDIB
CreateDibPalette CreateDIBPalette
DibBlt DIBBlt
DibInfo DIBInfo
DibNumColors DIBNumPaletteColors
DibFromRle DIBFromRle
LoadDib LoadDIBResource
PaletteSize DIBPaletteSize
StretchDibBlt StretchDIBBlt
OpenDIB LoadDIBFromFile
WriteDIB SaveDIBToFile
ConvertDIB32 ConvertDIB

Unterscheidung in Professional und Standard-Version

Um anspruchsvollen Anwendern mehr Leistung bieten zu können, ohne den Preis für Anwender die nur Basisfunktionen benötigen, zu erhöhen, wird DaVinci ab Version 3.0 in einer Pro und einer Standard-Version angeboten.

Folgende Funktionen von DaVinci 2.x stehen nur in der Pro-Version zur Verfügung

Lizenzrechtliche Veränderungen

DaVinci wird jetzt für 16-Bit und 32-Bit Version getrennt lizenziert.

Verwendung von MMIO File handles

Die Import/Exportfunktionen von DaVinci bieten nun die Möglichkeit, Datenaustausch mit bereits geöffneten Dateien oder direkt vom/zum Hauptspeicher durchzuführen. Dazu erhielten die Funktionen anstelle eines Dateinamen-Parameters nun einen Parameter vom Typ HMMIO zur Angabe eines MMIO File-Handles.

Fehlerbehandlung

Funktionen der mittleren Ebene (wie ipTif2DIB) sind nun nicht mehr dazu in der Lage, Fehlermeldungen automatisch als Dialog auszugeben, einen Fortschrittsbalken anzuzeigen oder den Wartecursor zu setzen. Alle Routinen der mittleren Ebene geben Fehlercodes nun nach den Konventionen wie bei ipImportExt zurück, d.h. der Rückgabewert ist 0 bei fehlerfreier Ausführung und sonst ein IPE_xxx Fehlercode.