Hallo Leute
Ich habe unter anderem 2 Programme.
In Programm 1 erstelle ich Artikel (Art. NR, EAN, Name, Preise, etc.) - bei Programm2 handelt es sich um ein Inventurprogramm, mit dessen Hilfe ich Bestände erfasse.
Dabei halten beide DataSets die gleichen Tables, mit den gleichen Rows. Mit dem einen Unterschied, dass es im Inventurprogramm noch eine "Menge Row" gibt, welche in Programm1 nicht vorkommt (weil sie da ja nicht benötigt wird).
Programm1 hat nun eine Funktion, das (eigene) DataSet - bzw. dessen ArtikelTable zu exportieren. Über Parameterstart des Programmes2 wird diese geladen.
Nun wird dieser Export, mit der für Programm2 gespeicherten xml verglichen. Bereits vorhandene Artikel werden ggf. geändert (Suche anhand der Artikelnummer - welche Unique ist), nicht vorhandene Artikel werden angelegt.
Das funktioniert alles wunderbar, mit einer Ausnahme.
Wenn ich diesen Export durchführe, während das Inventurprogramm geöffnet ist.
Dann wird beim starten der Inventuranwendung die xml ins DataSet geladen. Nun ändert das Programm1 die xml (aber das Inventurprogramm lädt diese nicht neu).
Beim schließen der Inventuranwendung, wird nun diese neu erstellte xml gelöscht und eine xml mit den geladenen (falschen) Werten wird gespeichert.
Gibt es eine Möglichkeit eine Sub in einer anderen Anwendung auszuführen? Oder als Parameter eine Sub zu übergebe, die dann ausgeführt wird?
Dann könnte ich vor dem Export prüfen, ob der Prozess Inventurprogramm läuft.
Eine Alternative wäre das schließen der Inventuranwendung mit anschließendem wieder öffnen. Jedoch finde ich zum schließen nur den Kill Befehl, welcher ja dafür sorgt, dass das Close Event der Inventuranwendung nicht ausgeführt wird - also das DataSet nicht gespeichert wird.
Welche Möglichkeiten habe ich hier?
Ich habe unter anderem 2 Programme.
In Programm 1 erstelle ich Artikel (Art. NR, EAN, Name, Preise, etc.) - bei Programm2 handelt es sich um ein Inventurprogramm, mit dessen Hilfe ich Bestände erfasse.
Dabei halten beide DataSets die gleichen Tables, mit den gleichen Rows. Mit dem einen Unterschied, dass es im Inventurprogramm noch eine "Menge Row" gibt, welche in Programm1 nicht vorkommt (weil sie da ja nicht benötigt wird).
Programm1 hat nun eine Funktion, das (eigene) DataSet - bzw. dessen ArtikelTable zu exportieren. Über Parameterstart des Programmes2 wird diese geladen.
Nun wird dieser Export, mit der für Programm2 gespeicherten xml verglichen. Bereits vorhandene Artikel werden ggf. geändert (Suche anhand der Artikelnummer - welche Unique ist), nicht vorhandene Artikel werden angelegt.
Das funktioniert alles wunderbar, mit einer Ausnahme.
Wenn ich diesen Export durchführe, während das Inventurprogramm geöffnet ist.
Dann wird beim starten der Inventuranwendung die xml ins DataSet geladen. Nun ändert das Programm1 die xml (aber das Inventurprogramm lädt diese nicht neu).
Beim schließen der Inventuranwendung, wird nun diese neu erstellte xml gelöscht und eine xml mit den geladenen (falschen) Werten wird gespeichert.
Gibt es eine Möglichkeit eine Sub in einer anderen Anwendung auszuführen? Oder als Parameter eine Sub zu übergebe, die dann ausgeführt wird?
Dann könnte ich vor dem Export prüfen, ob der Prozess Inventurprogramm läuft.
Eine Alternative wäre das schließen der Inventuranwendung mit anschließendem wieder öffnen. Jedoch finde ich zum schließen nur den Kill Befehl, welcher ja dafür sorgt, dass das Close Event der Inventuranwendung nicht ausgeführt wird - also das DataSet nicht gespeichert wird.
Welche Möglichkeiten habe ich hier?