Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [C]problema timestamp

    ciao ragazzi,
    il problema è il seguente

    utilizzo il seguente codice per ottnenre la data espressa in secondi relativamente all'ultima modifica di un dato file.
    Il probelma è che a volte l'applicazione va in errore con il seguente messaggio

    "
    Applicazione che ha provocato l'erroremioprog.exe, versione 0.0.0.0, modulo che ha provocato l'errore ntdll.dll, versione 5.1.2600.2180, indirizzo errore 0x00001010.
    "



    codice:
       handlefile=FindFirstFile(filtroFile,&lpFindFileData);	
    	//controllo la presenza del file di estensione .res
    	if(handlefile!=INVALID_HANDLE_VALUE)
    	{
    		hm=LoadLibrary("ntdll.dll");
    		if (hm != NULL)
    		{
    
    		rtl=GetProcAddress(hm,"RtlTimeToSecondsSince1970");
    		lsystime.LowPart=lpFindFileData.ftLastWriteTime.dwLowDateTime;
    		lsystime.HighPart=lpFindFileData.ftLastWriteTime.dwHighDateTime;
    		rtl(&lsystime,&timestamp);
    		FreeLibrary(hm);
    		}		
    	}
    a me sembra di richiamare correttamente la libreria...
    Forse il problmea è che lo faccio una volta al secondo(per la struttura del programma.) e quindi va in sovraccarico il sistema???

    Posso ottenere lo stesso risultato senza richiamare la libreria


    Grazie a tutti anticipatamente

    P.S.
    ho anche provato a richiamare una sola volta la libreria e la funzione per poi utilizzarla + voltte nel seguito ed il problema si presenta ugualmente

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Linguaggio? Sezione corretta?

    Eppure non sei nuovo del forum ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    chiedo scusa...
    perdono mi era proprio passato di mente

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Sei sicuro che

    rtl

    sia sempre valido?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    ho dichiarato hm e rtl extern ed in un file a parte eseguo il seguente codice
    quindi carico una sola volta la libreria e la funzione...
    Il problema però si è ripresentato
    codice:
     hm=LoadLibrary("ntdll.dll");
    
      if(hm==NULL)
      {
    	  return -1;
      }
      else
      {
    	  rtl=GetProcAddress(hm,"RtlTimeToSecondsSince1970");
      }
    
         if (!rtl)
    
       {
    		 return -1;
     }

    se volessi trovare una strada alternativa senza utilizzare la dll???

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Non ho capito ... non hai piu' il problema?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    il problema continua a presentarsi ma senza una logica...
    arbitrariamente....
    Tieni presente che il processo è attivo mperennemente e solo a volte va in eccezione

  8. #8
    avendo reso la mia applicazione un servizio e settato il riavvi automatico se si dovese verifiacare un errore vorrei che l'applicazione ad errore verificato si chiudesse ma purtroppo questo non avviene e quindi il servizio non viene restartato automaticamente...
    E' possibile settare il sistema operativo in modo tale che un'applicazione che va in errore venga chiusa automaticamente????
    Così almeno faccio fronte al problema facendo in modo che quando l'applicazione va in errore per il caricamento della dll questa si riattivi automaticamente
    Saluti

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Ah ... il tuo e' un servizio ... beh ... potevi dirlo prima ... non e' una cosa ininfluente ...


    Come l'hai reso servizio? L'hai scritto usando le regole di un servizio o no?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    bhè ho utilizzato il codice che ho postato qualche giorno fa sul forum
    http://forum.html.it/forum/showthrea...readid=1215068

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.