Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Variablen aus Dialogen im Script nutzen, aber wie?


4 replies to this topic

MVogt

MVogt
  • Members
  • 4 posts

Posted 16 May 2001 - 09:05

Wie kann ich am besten die Variablen und somit auch die Properties im Script nutzen? Mit MSIGET/SET/Property geht es ja nur umgekehrt. Will nämlich den Rechnernamen, den ich im Dialog abfrage, durch ein Script in ein File eintragen und komm einfach nicht an die Variable ran...

Danke

MVogt


rj2Skipper

rj2Skipper
  • Full Members
  • 49 posts

Posted 17 May 2001 - 11:05

meines erachtens nach ist es ja so, daß wenn du in einem dialog ein edit-feld hast, dem du ja eine bestimmte eigenschaft/variable zuweist, so hat diese Eigenschaft bei klcik auf next, den Wert, der im editfeld eingetragen wurde.
sa kannst du mit msigetproperty diesen Wert im Skript bekommen und weiterverarbeiten.

du mußt natürlich drauf achten, daß die Variablennamen komplett groß geschrieben sind (globale Variablen sind)

(Edited by rj2Skipper at 12:06 pm on May 17, 2001)


MVogt

MVogt
  • Members
  • 4 posts

Posted 17 May 2001 - 15:13

Hy, danke für die Antwort.
Ich hab das mit den Globalen Variablen (Großbuchstaben) schon getestet. Es funktioniert auch nicht... Oder ich stell mich zu blöd an.
Hat jemand einen Fetzen Script der so eine Variablenabfrage beinhaltet?

Danke

Markus Vogt


rj2Skipper

rj2Skipper
  • Full Members
  • 49 posts

Posted 18 May 2001 - 08:57

Moin,

ich benutze folgendes Skript um zu überprüfen, ob in einem Dialog in ein Eiditfeld etwas text eingetragen wurde. Das Editfeld hat die Property SERVICEACCOUNTUSERNAME .
Das Skript wird beim Klick auf Next aufgerufen und setzt ein weitere Property CHECKUSERNAME auf 1, wenn etwas eingetragen wurde, und 0 wenn nichts eingetragen wurde, bzw. die Eigenschaft nicht gelesen werden konnte.

export prototype CheckUserName(HWND);

function CheckUserName (hMSI)
STRING svUserName;
LONG lResult;
NUMBER nBuff;
begin    
nBuff = 1024;
lResult = MsiGetProperty(hMSI,"SERVICEACCOUNTUSERNAME",svUserName,nBuff);
if (lResult == ERROR_SUCCESS) then
if (svUserName != "") then
MsiSetProperty (hMSI, "CHECKUSERNAME","1");
else
MessageBox("Es muß ein Benutzerkonto angegeben werden, unter dem der Dienst ausgeführt werden soll.",SEVERE);
MsiSetProperty (hMSI, "CHECKUSERNAME","0");
endif;
else
MessageBox("Es muß ein Benutzerkonto angegeben werden, unter dem der Dienst ausgeführt werden soll.",SEVERE);
MsiSetProperty (hMSI, "CHECKUSERNAME","0");
endif;
end;


hoffe dir damit helfen zu können