[Gelöst] ShellControl.BrowseForFolder bringt RTC zum Absturz

27. Februar 2010 14:06

Ich verwende in einer Funktion den Aufruf auf ShellControl.BrowseForFolder, um ein bestimmtes Verzeichnis zurück zu erhalten. Das funktioniert in allen Versionen tadellos, inkl. NAV 09 Classic.

Der Code sieht so aus
Code:
IF ISCLEAR(ShellControl) THEN
  CREATE(ShellControl);

IF RootFolder = '' THEN
  Folder := ShellControl.BrowseForFolder(0,Text000,0)
ELSE
  Folder := ShellControl.BrowseForFolder(0,Text000,0,RootFolder);
IF NOT ISCLEAR(Folder) THEN BEGIN
  CLEAR(ShellControl);
  EXIT(Folder.Items().Item.Path);
END;

Wenn ich diese Funktion jedoch im RTC aufrufe, stürzt der Client ab, bzw. hängt sich auf ohne jede Fehlermeldung.

Hat jemand eine Idee, woran das liegen kann? Mein Client läuft auf Win7.

Re: ShellControl.BrowseForFolder bringt RTC zum Absturz

1. März 2010 09:40

Schau dir mal im NAV 2009 den Befehl CREATE() im C/AL Symbol Menu an. Seit 2009 hat er 3 Parameter:

CREATE(Auto [, NewServer][, Client])

Da du die Folder vom Client und nicht vom Service Tier brauchst, erstelle eine lokale Instanz über

CREATE(Auto, TRUE, TRUE);

Dann sollte es funktionieren. Bedenke dabei aber, wo der Code der diesen Folder nutzt letztendlich ausgeführt wird und ob du nicht eher über UPLOAD/DOWNLOAD der Klasse FILE arbeiten solltest.

Re: ShellControl.BrowseForFolder bringt RTC zum Absturz

1. März 2010 09:59

Hallo SilverX,

Besten Dank für deine Hilfe. Das der Befehl CREATE neue Parameter hat, ist mir entgangen (wahrscheinlich wäre ich aber auch nicht drauf gekommen dass das Problem hier liegt, wenn ich die Parameter gekannt hätte :-) )

Jetzt funktioniert es.