11. Juni 2012 10:01
Hallo alle zusammen,
ich habe mal wieder ein kleines Problem mit einen Webservice, letztes mal konntet ihr mir schon ganz gut weiterhelfen, deshalb versuche ich es gleich nochmal.
Mein Problem besteht darin, dass ich mir eine Funktion geschrieben habe die mir Zippfiles in einen Zielordner entpacken soll. Diese Funktion läuft wunderbar im Classic sowie auch direkt aus dem RTC. Jedoch wenn ich diese Funktion aus einem Webservice aufrufe, entpackt er dieses File nicht.
Der Webservice läuft auch komplett durch, dass habe ich mittels Ereignismeldung getestet. Ordner erstellen klappt auch wunderbar, nur leider entpackt er diese Datei nicht. Untenstehend ist der Quellcode.
Variablen
Name DataType Subtype Length
ZipFileName Text 1024
DestFolderName Text 1024
Shell32 Automation 'Microsoft Shell Controls And Automation'.Shell
SrcFolder Automation 'Microsoft Shell Controls And Automation'.Folder
DstFolder Automation 'Microsoft Shell Controls And Automation'.Folder
SrcItems Automation 'Microsoft Shell Controls And Automation'.FolderItems3
FileSystemObject Automation 'Windows Script Host Object Model'.FileSystemObject
- Code:
IF ZipFileName = '' THEN BEGIN
CLEAR(Shell32);
CLEAR(FileSystemObject);
EXIT;
END;
IF ISSERVICETIER THEN BEGIN
IF ISCLEAR(Shell32) THEN
IF GUIALLOWED THEN
CREATE(Shell32, FALSE, TRUE)
ELSE
CREATE(Shell32)
END ELSE BEGIN
IF ISCLEAR(Shell32) THEN
CREATE(Shell32, FALSE, FALSE);
END;
IF ISCLEAR(FileSystemObject) THEN
CREATE(FileSystemObject);
IF NOT FileSystemObject.FolderExists(DestFolderName) THEN
FileSystemObject.CreateFolder(DestFolderName);
IF FileSystemObject.FileExists(ZipFileName) THEN BEGIN
SrcFolder := Shell32.NameSpace(ZipFileName);
DstFolder := Shell32.NameSpace(DestFolderName);
SrcItems := SrcFolder.Items;
DstFolder.CopyHere(SrcItems);
END;
CLEAR(Shell32);
CLEAR(DstFolder);
CLEAR(SrcItems);
CLEAR(FileSystemObject);
Ich hoffe mir kann wieder jemand weiterhelfen.
Vielen Dank schönmal
Gruß
Igelown
Zuletzt geändert von Igel-own am 11. Juni 2012 13:21, insgesamt 1-mal geändert.