Die ShrinkTo5.DLL mit der ShrinkTo5GUI waren mal Open Source und auch früher auf der OpenSourceCD. Da auf
AfterDawn ShrinkTo5 v2.0.4 Basic als Binary und Source angeboten wird, wollte ich die
GUI nachbauen. Am Datum der Source erkennt man, dass der Source nicht von der v2.0.4 sondern vermutlich von der v1.7.1 stammt. Die Binaries der v1.7.1 bekommt man auf
Download3000.
Die Funktionen scheinen bei beiden DLLs gleich zu sein. Das Auslesen der DVD-Informationen funktioniert jedenfalls genauso. Das Problem liegt nun beim DVD-Transfer (Transcodieren). Ich dachte, dass im Prinzip diese Funktionen ausreichen würden:
Code:
type
TFNOpen = function(srcPath: PChar): Integer; stdcall;
TFNSetTargetSizeMB = function(targetSize: Integer): Integer; stdcall;
TFNTransferPath = function(targetPath, stopFlag: PChar): Integer; stdcall;
type
TShrinkTo5 = Class
private
FNOpen : TFNOpen;
FNSetTargetSizeMB : TFNSetTargetSizeMB;
FNTransferPath : TFNTransferPath;
Die Callback-Procedure habe ich nicht übersetzt, weil ich nicht weiß, wie:
Code:
void _stdcall SetCallBack(int (_stdcall *pCallBack)(int alert, int param, void *pTransfer, void *pUser), void *pUser)
Nach dem Öffnen der DVD auf Festplatte und dem Setzen der Zielgröße sollte der Transfer mit diesem Aufruf starten:
FNTransferPath(PChar(srcPath), PChar('0'));
Es gibt aber bei der
DLL v1.7.1 eine Zugriffsverletzung nachdem der Ordner VIDEO_TS sowie die Datei VIDEO_TS.VOB angelegt wurden:
Zitat:
---------------------------
ShrinkTo5GUI
---------------------------
Zugriffsverletzung bei Adresse 1000853C in Modul 'ShrinkTo5.dll'. Lesen von Adresse 00000000.
---------------------------
OK
---------------------------
Bei der von v2.0.4 gibt es eine ShowMessage, dass die Software keine Erlaubnis für diese Funktion hätte:
Zitat:
---------------------------
Copyright Violation
---------------------------
This software uses ShrinkTo5 without permission!
---------------------------
OK
---------------------------
Hat hier jemand Erfahrungen mit der ShrinkTo5.DLL und kann mir Hinweise geben, worauf ich noch achten muss? Bei Bedarf kann ich auch mein Projekt anhängen.