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

Discussione: TACROPdf su Windows 7

  1. #1
    Monti non è in linea Scolaretto
    Luogo
    Lecce
    Post
    73

    TACROPdf su Windows 7

    buonasera a tutti,
    sto utilizzando il componente ACROPdf per visualizzare e gestire i file .pdf
    da delphi, utilizzo il seguente codice
    codice:
    procedure TMainForm.TutelaPrivacyBtnClick(Sender: TObject);
    begin
       SupportoPdfForm := TSupportoPdfForm.Create(Application);
    
       SupportoPdfForm.EnterCondPrivacy;
    
       SupportoPdfForm.Free;
    end;
    
    
    procedure TSupportoPdfForm.EnterCondPrivacy;
    begin
       if fileExists(PmMasterData.RegPnConfigImagePath.Value + 'InfoTrattDati.pdf') then begin
          AcroPDF1.Src := PmMasterData.RegPnConfigImagePath.Value + 'InfoTrattDati.pdf';
          ACroPDF1.Print; 
          SupportoPdfForm.Caption := 'Informativa sul trattamento dei dati personali e acquisizione consenso';
          showModal;
       end else begin
          beep;
          ShowMessage('Il File INFORMATIVA sul TRATTAMENTO dei DATI personali e ACQUISIZIONE CONSENSO non esiste...');
       end;
    end;
    nella Form SuppportoPdfForm è inserito il componente TACROPdf appunto
    funziona tutto ma su windows 7 quando tento di chiudere la Form in questione
    appare un messaggio di 'Access Violation at address 6DD00AB0,....'
    e non riesce a 'chiudere' il componente attivo, come se non avesse effetto
    il comando
    codice:
    SupportoPdfForm.Free;
    Qualcuno sa indicarmi dove sbaglio ??

  2. #2
    L'avatar di _alka_
    _alka_ non è in linea Very Important Person
    Luogo
    Reggio Emilia
    Post
    1,104
    Non conosco il componente in questione, ma è possibile che l'operazione di Print avvi un processo che richiede tempo per poter essere terminato, ma l'esecuzione del codice magari prosegue ugualmente, portando alla chiusura della finestra e alla distruzione del componente prima che le operazioni avviate dallo stesso abbiano fine.

    Controlla se il componente fornisce eventi che permettono di capire se e quando la stampa è terminata, o se ci sono note particolari sulla sua distruzione nella documentazione relativa (se disponibile).

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Homepage | Blog | Delphi Podcast | Delphi Succinctly (e-book)

  3. #3
    Monti non è in linea Scolaretto
    Luogo
    Lecce
    Post
    73
    Molto probabile...
    Di fatto se invece di creare 'at run time' la form che lo contiene quando serve la faccio creare all'avvio dell'applicazione richiamandola di volta in volta con 'showmodal' e chiudendola con 'close' il problema non si presenta.

+ Rispondi al Thread

Permessi di invio

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