Domanda

Ho un programma VB6 che qualcuno di recente mi ha aiutato a convertire VB.NET

In programma, durante il salvataggio di file, il timbro con la data che stavo chiamando la funzione Oggi ().

Quando cerco di eseguire il nuovo VB.NET codice in Vista getta un'autorizzazione eccezione per Oggi() .Se esegue Visual Studio Express (questo è il 2008 versione Express) in modalità Amministratore, quindi il problema non si verifica, ma è chiaro che voglio finire con un programma stand-alone che funziona per tutti gli utenti, senza fantasia autorizzazioni.

Quindi, come può un normale VB.NET programma in Vista la data di oggi?

È stato utile?

Soluzione

Utilizzare DateTime.Now o DateTime.Today.Questi sono interamente gestiti e non dovrebbe gettare le eccezioni di sicurezza.

Il vecchio VB6 funzioni, come Len(), Left(), Right(), OpenFile(), FreeFile() sono tutti presenti nella .NET Framework della Microsoft.VisualBasic DLL.Per mantenere la compatibilità all'indietro, che tutti invocano le funzioni di codice non gestito.Il codice non gestito richiede particolari autorizzazioni di sicurezza, perché può essere pericoloso.

Ogni volta che è possibile, provare a utilizzare di nuovo .NET funzioni.Essi sono di solito molto più veloce (i / o di File tramite Flussi per esempio) e più sicuro.

Altri suggerimenti

Quando cerco la seguente dichiarazione:

Dim result As String = Today()

È per me una data di oggi, come mi sarei aspettato, e sto correndo VB2005 su Vista.Si può modificare la domanda con la versione di VB che si sta utilizzando?Inoltre, si può provare la seguente dichiarazione invece di Today() per vedere che funziona per voi, senza eccezione?

Dim result As String = Now()

La funzione Oggi() dovrebbe funzionare correttamente su Vista.Credo che dietro le quinte si tratta semplicemente di valutare il tipo DateTime.Oggi di proprietà, per cui non dovrebbe gettare le eventuali eccezioni.Se sei il porting di VB VB.NET probabilmente si dovrebbe andare avanti e utilizzare il DateTime.Oggi di proprietà, piuttosto che il VB6 compatibilità di codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top