Manchmal ist es notwendig, in AX externe Programme (zb. per WinApi::shellExecute) aufzurufen und deren Rückmeldung abzuwarten. Mir ist z.B. in letzter Zeit immer wieder der Fall untergekommen, daß ich über ein externes Programm eine Datei erstellen musste, und diese anschließend in AX einlesen bzw. weitervearbeiten musste.
Für diesen Fall habe ich eine ganz simple Logik gebastelt, die eine bestimmte Anzahl Sekunden lang prüft, ob es die benötigte Datei schon gibt und erst dann mit den weiteren Schritten fortfährt.
static void WaitForFileExists(Args _args)
{
int startTime;
int endTime;
int seconds2Wait = 5;
boolean fileExists = false;
fileName searchFileName = "c:\\temp\\ax.txt";
;
startTime = timeNow();
endTime = startTime + seconds2Wait;
while (!fileExists && timeNow() <= endTime)
{
fileExists = WinApi::fileExists(searchFileName);
}
// ...continue...
if(fileExists)
{
info(strFmt("File '%1' exists", searchFileName));
}
else
{
warning(strFmt("File '%1' does not exist and time is up", searchFileName));
}
}
Dieser Beitrag bezieht sich auf die Version: Dynamics AX 2009
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.
Mehr dazu
Manchmal ist es notwendig, in AX externe Programme (zb. per WinApi::shellExecute) aufzurufen und deren Rückmeldung abzuwarten. Mir ist z.B. in letzter Zeit immer wieder der Fall untergekommen, daß ich über ein externes Programm eine Datei erstellen musste, und diese anschließend in AX einlesen bzw. weitervearbeiten musste.
Für diesen Fall habe ich eine ganz simple Logik gebastelt, die eine bestimmte Anzahl Sekunden lang prüft, ob es die benötigte Datei schon gibt und erst dann mit den weiteren Schritten fortfährt.