+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Notifica scadenza in InnoSetup

  1. #1
    tizike non è in linea Scolaretto
    Post
    384

    Notifica scadenza in InnoSetup

    Buongiorno

    In Innosetup io inserisco sempre questa funzione come scadenza dello stesso setup.
    Se la data é oltrepassata il setup non viene eseguito. E questo funziona.
    [CODE]
    codice:
     
    Function InitializeSetup(): boolean;
    Begin
    If GetDateTimeString('yyyy/mm/dd', '-', #0) <= '2016-12-31' Then
    Begin
    Result := True;
    End
    Else
    Begin
    Result := False;
    End
    End;
    Sarebbe possibile aggiungere in questa stessa funzione una notifica/formula tipo msgbox
    per esempio " Validità setup scaduto " ? Se si quale formula?
    Come ho detto con il codice di sopra il setup non viene per nulla eseguito e l'utente (che ignora la data) non sa come mai.

    Grazie.
    Tizike.

  2. #2
    L'avatar di gibra
    gibra ora è in linea Amanuense
    Luogo
    Breganze (VI)
    Post
    5,840

  3. #3
    tizike non è in linea Scolaretto
    Post
    384
    Nel frattempo, Gibra, ho infatti trovato questo
    codice:
    TMsgBoxType = (mbInformation, mbConfirmation, mbError, mbCriticalError);
    
    Example:
    begin
      // Display a simple message box with an OK button
      MsgBox('Hello.', mbInformation, MB_OK);
    
      // Ask the user a Yes/No question
      if MsgBox('Are you sure?', mbConfirmation, MB_YESNO) = IDYES then
      begin
        // user clicked Yes
      end;
    
      // Ask the user a Yes/No question, defaulting to No
      if MsgBox('Are you sure?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
      begin
        // user clicked Yes
      end;
    end;
    ma purtroppo non riesco ad integrarlo nel mio codice .
    a me bastava (se ho ben capito) solo questa parte
    codice:
    begin
      // Display a simple message box with an OK button
      MsgBox('Hello.', mbInformation, MB_OK);
    Dove inserirlo? Dopo End? Dopo la data? All'inizio della funzione? Questo non mi riesce.
    grazie

  4. #4
    L'avatar di gibra
    gibra ora è in linea Amanuense
    Luogo
    Breganze (VI)
    Post
    5,840

  5. #5
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    15,039
    Blogs
    5
    Presumo nel blocco in cui decidi che il risultato è False
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  6. #6
    tizike non è in linea Scolaretto
    Post
    384
    Io ho provato sia cosi (dopo False)
    codice:
    Function InitializeSetup(): boolean;
    Begin
    If GetDateTimeString('yyyy/mm/dd', '-', #0) <= '2014-12-31' Then
    Begin
    Result := True;
      
    End
    Else
    Begin
    Result := False;
    // Display a simple message box with an OK button
      MsgBox('Hello.', mbInformation, MB_OK);
    End
    End;
    e sia cosi (Dopo True)
    codice:
    Function InitializeSetup(): boolean;
    Begin
    If GetDateTimeString('yyyy/mm/dd', '-', #0) <= '2014-12-31' Then
    Begin
    Result := True;
    // Display a simple message box with an OK button
      MsgBox('Hello.', mbInformation, MB_OK);
      
    End
    Else
    Begin
    Result := False;
    
    End
    End;
    e in nessuno dei due casi mi appare il messaggio.
    Ultima modifica di AntonioG; 28-09-2017 09:52 

  7. #7
    tizike non è in linea Scolaretto
    Post
    384
    Penso di aver risolto. Ho fatto varie prove e va. Ho messo quindi il Msgbox nel blocco False (come suggerito da Antonio
    [CODE]
    codice:
     
    Function InitializeSetup(): boolean;
    Begin
    If GetDateTimeString('yyyy/mm/dd', '-', #0) <= '2014-09-30' Then
    Begin
    Result := True;
    
    End
    Else
    Begin
    // Display a simple message box with an OK button
      MsgBox('Validità programma esaurita. ', mbInformation, MB_OK);
    Result := False;
    End
    End;
    Unico punto (non lo so, ma forse é giusto che sia cosi) é che il setup arriva fino alla finestra di windows
    che mi chiede se poter apportare modifiche al sistema, e solo allora mi appare il Msgbox di notifica.
    Io pensavo che il messaggio di notifica dovesse arrivare immediatamente al lancio setup.

    Se ci fosse qualche suggerimento di miglioramento da apportare ben venga.
    Nel frattempo grazie Gibra e Antonio

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi