Hallo an alle!
Ich habe ein kleines Problem!
Mit meinem Programm bereite ich ein Verzeichnis zum Drucken vor und dann verschiebe ich dieses in ein anderes Verzeichnis wo es automatisch von einen zweiten Programm gedruckt wird und gesichert wird.
Alles läuft im Netzwerk.
Zum Verschieben verwende ich folgende Funktion:
Code:
function DoFileWork(aOperation: FILEOP_FLAGS; aFrom, aTo: AnsiString; Flags: FILEOP_FLAGS): Integer;
var
FromPath, ToPath: AnsiString;
SHFileOpStruct: TSHFileOpStruct;
begin
ZeroMemory(@SHFileOpStruct, SizeOf(SHFileOpStruct));
FromPath := aFrom + #0#0;
ToPath := aTo + #0#0;
with SHFileOpStruct do
begin
Wnd := 0;
wFunc := aOperation;
pFrom := PAnsiChar(FromPath);
if ToPath <> '' then
begin
pTo := PAnsiChar(ToPath)
end
else
begin // target available
pTo := nil;
end; // target not available
fFlags := Flags;
end; // structure
Result := SHFileOperationA(SHFileOpStruct);
end;
Mein Problem ist, wenn das zweite Programm das Verzeichnis sichert, bleibt ein leeres Verzeichnis stehen und man hat keinen Zugriff mehr drauf bis ich mein Programm beende.
Mein Programm hat ansonsten mit dem zweiten Verzeichnis nur die eine Verbindung beim verschieben.
Kann ich diese Verbindung irgendwie lösen?
Danke im Voraus!!
Kornel