Hallo,
ich stehe mal wieder auf dem Schlauch.
Das Problem:
Ich möche mit Delphi eine PDF-Datei mit Sicherheitseinstellungen erstellen. In der PDF-Datei soll der Menüpunkt "Datei -> Drucken" deaktiviert sein. In VisualBasic 6.0 funktioniert es, in Delphi Personal 7 gibt es beim Befehl
"oSicherheitseinstellung.SetSecuritySettings(oSich erheit);" die Fehlermeldung "[Fehler] Unit1.pas(44): Inkompatible Typen: 'IDispatch' und 'TsecuritySettings'".
Kann mir jemand bei ber Typenumwandlung helfen?
Vielen Dank für Eure Hilfe
Tschüss Gebhard
Hier noch einmal die Befehle und die Fehlermeldungen.
Code:
interface
uses
...,
PDFMAKERAPILib_TLB,
...;
...
...
procedure TForm1.Button1Click(Sender: TObject);
var
oPDF:TPDFMakerApp;
oSicherheitseinstellung:TConversionSettings;
oSicherheit:TSecuritySettings;
begin
oPDF:=TPDFMakerApp.Create(Self);
oSicherheit:=TsecuritySettings.Create(Self);
oSicherheit.PermsPasswd:='abc';
oSicherheit.PrintingModeAllowed:=kPrintingAllowedNone;
oSicherheit.PermsPasswdNeeded:=true;
oSicherheitseinstellung:=TConversionSettings.Create(Self);
oSicherheitseinstellung.SetSecuritySettings(oSicherheit);
oPDF.CreatePDF('c:\temp\test.xls','c:\Temp\test.pdf',oSicherheitseinstellung);
end;
Hier die Fehlermeldungen
[Fehler] Unit1.pas(44): Inkompatible Typen: 'IDispatch' und 'TsecuritySettings'
[Fehler] Unit1.pas(46): Es gibt keine überladene Version von 'CreatePDF', die man mit diesen Argumenten aufrufen kann
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
Hier die Funktion in der "PDFMAKERAPILib_TLB"
function CreatePDF(const srcFilePath: WideString; const pdfFilePath: WideString;pSettings: OleVariant): Integer; overload;
Hier der Text, der in VisualBasic funktioniert
Dim oPDF As PDFMAKERAPILib.PDFMakerApp
Dim oSicherheit As PDFMAKERAPILib.SecuritySettings
Dim oSicherheitseinstellung As PDFMAKERAPILib.ConversionSettings
Set oPDF = New PDFMAKERAPILib.PDFMakerApp
Set oSicherheit = New PDFMAKERAPILib.SecuritySettings
oSicherheit.PermsPasswd = "abc"
oSicherheit.PrintingModeAllowed = kPrintingAllowedNone
oSicherheit.PermsPasswdNeeded = True
Set oSicherheitseinstellung = New PDFMAKERAPILib.ConversionSettings
oSicherheitseinstellung.SetSecuritySettings oSicherheit
oPDF.CreatePDF "c:\temp\test.xls", "c:\Temp\test.pdf", oSicherheitseinstellung