Hallo zusammen!
Ich möchte mit einem c#-Script aus einem externen File alle Artikelnummern von Steckern eines Projektes einlesen und diese Artikel in Eplan einfügen. Das Einlesen der Artikelnummern funktioniert wunderbar. Aber wie füge ich diese nun erfolgreich ein?
Mit
oCLI.Execute("XDLInsertDeviceAction", acc)
hänge ich das Bauteil an meinen Mauszeiger. Leider hängt jedoch nur der letzte Stecker des Dokuments am Mauszeiger, soll heißen, das Script wartet natürlich nicht bei jedem Schleifendurchlauf, bis ich den aktuellen Stecker platziert habe. Übrigens geht dies auch nicht, wenn ich einfach für 10 Sekunden schlafe (Sleep). Das heißt, meine Idee, per EventHandler auf einen Mausklick zu warten, wird wohl auch nicht funktionieren, oder? (Mit dem EventHandler habe ich so meine Probleme, daher habe ich es bislang noch nicht testen können.)
Hat einer eine Idee? Hier mein (aufs nötigste reduzierter) Code:
################################################################
for (i = 1; i<=anzahlzeilen_file; i++) // Zeile für Zeile des Dokuments nach Steckern durchsuchen
{
zeile_file = ReadLine(openfile_name, i); // Eine Zeile wird daraus eingelesen
zeile_array = zeile_file.Split(';'); // Schreibt alle (durch Semikolon getrennte) Worte dieser Zeile in einen Array
// Anwender fragen, ob der Stecker nun eingefügt werden soll
DialogResult Result = MessageBox.Show("Möchten Sie den Stecker " + zeile_array[2] + "nun einfügen?",
"Stecker einfügen:",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
// Hat der User zugestimmt, den Artikel nun einzufügen?
if (Result == DialogResult.Yes)
{
// Stecker an den Mauszeiger hängen
acc.AddParameter("PartNr", zeile_array[2]);
acc.AddParameter("PartVariant", "1");
oCLI.Execute("XDLInsertDeviceAction", acc);
// Dieser Befehl hängt offenbar nur den Artikel an die Maus, sodass dieser bis zum ESC an der Maus hängt.
// Wie sorge ich dafür, dass der Stecker in diesem Schritt in Eplan P8 platziert wird?
}
}
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP