Dynamics AX: Warten auf das Vorhandensein einer Datei

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

Kommentar hinzufügen
 
 

 

 
 
 
Beiträge des aktuellen Monats
Juni 2022
MoDiMiDoFrSaSo
 12345
6789101112
13141516171819
20212223242526
27282930 
 
© 2006-2022 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
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