Wie kann man von einem macroprozess aus einen lokale Variable ändern?

devin

Neues Mitglied
Guten Tag,

ich öffne von einem Makro meine dll mit einem macroprocess. Den Wert lese ich so aus und das funktioniert auch:

C#:
string temp = parameters.TryGetItem("_tempArtikelnummer").Value;

nach dem auslesen bearbeite ich den wert und will nun den bearbeiten string dem Feld zurückgeben aus dem AppDesigner wo ich auch eben den Wert ausgelesen habe.

Wie aber kann ich dies tun? Ich dachte durch : return parameters; geht das aber wie greife ich darauf dann zu vom AppDesigner aus?
 
Guten Tag,

versuche mal die Variable im Makro zu definieren
und anschließend im Code mit u. a. Code zu setzen.

base.MacroTempVars["_DeineVariable"] = "XXX"

Beste Grüße
Sergej
 
Guten Tag,

versuche mal die Variable im Makro zu definieren
und anschließend im Code mit u. a. Code zu setzen.

base.MacroTempVars["_DeineVariable"] = "XXX"

Beste Grüße
Sergej
Guten Tag,

im MacroProcess findet base MacroTempVars nicht, ich glaube das ist nur im AppLibraryCall so umsetzbar.
 
Hallo Devin,

lokale Variablen werden nur zurückgegeben, wenn Cancel=False ist. Deine Vermutung ist aber korrekt. Über return Parameters verlässt du den Dll-Aufruf und kehrst in das Makro zurück. Prüfe sonst vor dem return deine NamedParameters-Collection, ob der NamedParameter vorhanden und der entsprechende Wert gesetzt ist.

Neue Parameter erstellst du am besten so:

Code:
parameters.Add(new NamedParameter("_" + "Name", "Wert"));
return parameters;

Im Makro steht dir dann der Wert über [_NameLokaleVariabke] zur Verfügung.

Beste Grüße Rouven
 
Zuletzt bearbeitet:
Zurück
Oben