Fertigstellen?
Posted 14 October 2003 - 09:01
Ich habe die Tage ein Setup fertig gestellt, bis auf ein kleinigkeit funktioniert auch alles:
Im SdOptionsButtons Dialog habe ich den "Weiter-Button" deaktiviert, um den User dazu zu zwingen eine Installationsart auszuwählen, wenn man aber in diesem Fenster auf Abbrechen klickt, erscheint das SdSetupCompleteError Dialogfeld zwar auf dem Bildschirm, der "Fertigstellen-Button" ist jedoch deaktiviert
hab schon am Script rumgebastelt, den "Weiter-Button" aktiviert, deaktiviert aber es zeigt sich keine Änderung, "Fertigstellen" bleibt beim Abbruch deaktiviert.
An jedem anderen Punkt erscheint der Dialog korrekt, also mit aktiviertem "Fertigstellen-Button"
kann mir jemand bei diesem Problem helfen?
Posted 14 October 2003 - 10:02
Stefan Krüger
InstallSite.org twitter facebook
Posted 14 October 2003 - 13:06
Dlg_SdOptionsButtons:
szTitle = "";
szMsg = "";
Disable(NEXTBUTTON);
.
.
.
.
.
nResult = SdOptionsButtons (szTitle, szMsg, listButtons, listDesc);
Enable(NEXTBUTTON);
if (nResult = BACK) goto Dlg_SdAskDestPath;
den fertigstellen Button habe ich nirgends deaktiviert!
Posted 15 October 2003 - 12:35
Stefan Krüger
InstallSite.org twitter facebook
Posted 15 October 2003 - 12:37
ich finde einfach den Fehler nicht!
gibt es eine Möglichkeit den "Fertigstellen Button" direkt anzusprechen? wenn ja, wie?
Posted 15 October 2003 - 13:01
Dlg_SdOptionsButtons:
szTitle = "";
szMsg = "";
Disable(NEXTBUTTON);
// Create the lists for buttons and descriptions.
listButtons = ListCreate (STRINGLIST);
listDesc = ListCreate (STRINGLIST);
if (listButtons = LIST_NULL) || (listDesc = LIST_NULL) then
// Report the error; then terminate.
MessageBox ("Listen konnten nicht erstellt werden!", INFORMATION);
abort;
endif;
.
. Bilder und Beschreibungen für die Buttons
.
// Display the dialog box.
nResult = SdOptionsButtons (szTitle, szMsg, listButtons, listDesc);
if (nResult = BACK) goto Dlg_SdAskDestPath;
Enable(NEXTBUTTON);
Im normalen Enddialog und bei Abbruch an jeder beliebigen Stelle ist der "Weiter Button" aktiv, außer bei Abbruch im Sd_OptionsButtons. Alle Dialoge sind bei mir auf einer Ebene - ich verwende alles Global, und nicht in Privaten Funktionen. Ist es möglich den Sd_SetupComplete Dialog im Script anzusprechen ohne das er Standardmäßig im Setup angezeigt wird?
Posted 16 October 2003 - 17:11
Hast du mal versucht, die Enable Funktion in OnCanceling oder OnAbort (beide unter "Verschiedenes" in der Skript-Combobox) aufzurufen?
Stefan Krüger
InstallSite.org twitter facebook
Posted 17 October 2003 - 08:32
ich krieg mit dem onAbort Handler schon beim kompilieren 16 Fehler, die Variablen betreffen die ich noch nichtmal in der Funktion habe, die angeblich aber schon definiert sind...
entweder ist mein Script zu diesem Handler nicht vollständig, oder InstallShield hat mit mir ein persönliches Problem...
SCRIPT:
function OnAbort()
begin
Dlg_SdSetupCompleteError:
Enable(NEXTBUTTON);
nResult = SdSetupCompleteError ();
end;
FEHLER:
setup.rul(238) : Fehler C8017: 'Enable' : typedef (struct)-Name erwartet
setup.rul(238) : Fehler C8008: '(' : Identifier erwartet
setup.rul(238) : Fehler C8008: '51' : Identifier erwartet
setup.rul(238) : Fehler C8008: ')' : Identifier erwartet
setup.rul(239) : Fehler C8008: 'begin' : Identifier erwartet
setup.rul(240) : Fehler C8008: 'if' : Identifier erwartet
setup.rul(240) : Fehler C8008: '(' : Identifier erwartet
setup.rul(240) : Fehler C8008: '6' : Identifier erwartet
setup.rul(240) : Fehler C8008: '=' : Identifier erwartet
setup.rul(240) : Fehler C8014: 'SprintfBox' : Identifier bereits definiert
setup.rul(240) : Fehler C8010: ',' : Rechte Klammer fehlt
setup.rul(241) : Fehler C8014: 'SdLoadString' : Identifier bereits definiert
setup.rul(242) : Fehler C8014: 'SdLoadString' : Identifier bereits definiert
setup.rul(242) : Fehler C8022: ')' : Komma oder Semikolon erwartet
setup.rul(244) : Fehler C8019: 'endif' : Typdeklaration erwartet
setup.rul(245) : Fehler C8011: 'end' : 'begin' fehlt am Funktionsanfang
Edited by Don, 17 October 2003 - 08:35.
Posted 17 October 2003 - 11:29
Dlg_SdSetupCompleteError:
Die hat ja so ohnehin keine Funktion.
Und auch das würde ich weglassen:
nResult = SdSetupCompleteError ();
Also im Endeffekt nur das Enable drin lassen.
Stefan Krüger
InstallSite.org twitter facebook
Posted 17 October 2003 - 11:56
function OnAbort()
STRING szMsg1;
STRING szMsg2;
STRING szTitle;
NUMBER nResult;
begin
Enable(NEXTBUTTON);
Dlg_SdSetupCompleteError:
szTitle = "";
szMsg1 = "";
szMsg2 = "";
nResult = SdSetupCompleteError (szTitle, szMsg1, szMsg2);
end;
Die Zeile mit nResult ist allerdings erforderlich, da das der Befehl zum Anzeigen des Dialogs ist - kein nResult, kein Dialog
Ohne den Ansatz mit dem OnAbort wäre ich vermutlich nie auf einen grünen Zweig gekommen, vielen Dank für ihre Hilfe!
Don