DdeExecute¶
DdeExecute führt ein Makro im Server aus.
-
bool = DdeExecute(hConv, ssCommand)
-
bool = DdeExecute(hConv, ssCommand, rsTimeout)
Returnwert
bool ist TRUE (1) wenn die Funktion erfolgreich war, und sonst FALSE (0).
Parameter
-
hConv
hConv ist die Kanalnummer (Handle).
-
ssCommand
ssCommand ist der Kommando-String, der vom Server ausgeführt werden soll. Bei den meisten Servern muss der String in eckige Klammern eingeschlossen werden z. B.
DdeExecute(hConv, "[OPEN(\"c:/kennfeld.dif/")]")
-
rsTimeout
Legt die maximale Wartezeit in Millisekunden fest, die UniPlot auf eine Antwort der Serveranwendung wartet. Für eine asynchrone Ausführung muss dieser Parameter auf 0xFFFFFFFF gesetzt werden. Der Defaultwert ist 5000.
Beispiel
Das folgende Beispiel zeigt, wie man Excel zum Konvertieren von Dateien verwenden kann. Es wird eine Datei im DIF Format (Data Interchange Format) konvertiert und in einen UniPlot Editor geladen.
// HKEY_CURRENT_USER\Software\Classes\CLSID\{F0C8D974-51B6-11D0-BE90-008048AA0191}\LocalServer32
def FindUniPlot()
{
RegConnect("HKEY_CURRENT_USER")
b = RegOpen("Software\\Classes\\UniPlot.Application\\CLSID");
s = RegGetValue("");
RegOpen("Software\\Classes\\CLSID\\" + s + "\\LocalServer32")
return RegGetValue("");
}
def FindApp(ssApp)
{
RegConnect("HKEY_LOCAL_MACHINE")
b = RegOpen("Software\\Classes\\" + ssApp + "\\CLSID");
s = RegGetValue("");
RegOpen("Software\\Classes\\CLSID\\" + s + "\\LocalServer32")
return RegGetValue("");
}
def test_DdeExecute()
{
s = FindApp("Excel.Application");
if (s == "") {
MessageBoxError("Excel not found");
return;
}
system(s, SW_HIDE, 0);
hConv = DdeInitiate("Excel", "System");
DdeExecute(hConv, "[OPEN(\"" + GetRootDirectory() + "samples\\map-data.xls\")]")
hconvTab = DdeInitiate("Excel", "map-data.xls");
ssData = DdeRequest(hconvTab, "z1s1:z16384s255");
ssData = strfindreplace(ssData, ",", ".");
DdeExecute(hConv, "[CLOSE()]");
DdeExecute(hConv, "[QUIT()]");
DdeTerminateAll();
hedit = EdCreate();
EdSetText(hedit, ssData);
}
test_DdeExecute();
Siehe auch
Überblick DDE, system, DdeInitiate, DdeTerminate, DdeTerminateAll, DdePoke, DdeRequest
id-1484792