Select the product you need help with
Come passare un SafeArray di stringhe in un VARIANT * tra Visual c ++ e Visual Basic 6.0Identificativo articolo: 167668 - Visualizza i prodotti a cui si riferisce l?articolo. Nota Microsoft Visual c ++ .NET (2002) supporta sia il modello di codice gestito fornito da Microsoft .NET Framework che il modello di codice non gestito nativo di Microsoft Windows. Le informazioni contenute in questo articolo si applicano solo al codice Visual C++ non gestito. SommarioQuando si esaminano le informazioni disponibili nel passaggio di che SafeArray tra Visual c ++ e Visual Basic 6.0, la maggior parte passare un parametro di SafeArray digitare VARIANT. In MFC, questo si traduce in un parametro "VARIANT const & nomevariabile". In alternativa, in questo articolo vengono illustrati come passare un VARIANT *, che, in MFC, sarà dichiarato come un parametro di "VARIANT FAR * l'argomento nomevariabile". Perché è necessario utilizzare un metodo rispetto a altro? Poiché la maggior parte delle applicazioni consentono un SafeArray passati in un valore VARIANT, ma non tutte le modifiche. In Excel 95, è possibile passare un SafeArray VARIANT a un Visual c ++ server, modificare i valori nel server, restituire SafeArray modificato, e non esiste nessuna modifica in Excel 95. Un altro motivo per utilizzare questa tecnica è per risolvere un problema in Visual Basic 6.0 quando si utilizza l'associazione anticipata. InformazioniPer illustrare questo concetto, iniziare con un nuovo progetto "MFC AppWizard(exe)" chiamato StrArray. Nel "Passaggio 3 di 6," selezionare automazione , fare clic su Fine e quindi fare clic su OK per generare i file di progetto. Nota : se si utilizza Visual Studio.NET: Create a "MFC Application" nuovo progetto denominato StrArray. Nella scheda Caratteristiche avanzate selezionare automazione e quindi scegliere Fine per generare i file di progetto. Creare un metodo di automazione singolo utilizzando Creazione guidata classe. Nella classe, selezionare "CStrArrayDoc" in "nome classe:". Scegliere la scheda di automazione , quindi Aggiungi metodo . Immettere i seguenti valori nella finestra di dialogo Aggiungi metodo: Nota : se si utilizza Visual Studio.NET: aggiunta di un metodo di automazione singolo utilizzando "Classe View". Espandere la struttura di visualizzazione classi e individuare il VCCOdeIDLLibrary voce. Trovare l'interfaccia IStrArray sotto tale nodo. Fare clic con il pulsante destro del mouse sull'interfaccia e quindi selezionare Aggiungi metodo . Immettere i seguenti valori nella finestra di dialogo Aggiungi metodo:
External Name : Sort
Internal Name : Sort
Return Type : long
Parameter List:
Name : vArray
Type : VARIANT*
Fare clic su OK e Modifica di codice . Per implementare il metodo di ordinamento, utilizzare il metodo di FastSort dell'esempio MFCARRAY menzionato nella sezione riferimenti riportati di seguito. Questo consente di visualizzare le differenze tra passando il parametro come un "VARIANT const & nomevariabile" e "VARIANT * nomevariabile". Modificare il metodo di ordinamento come segue: È ora possibile creare e testare il server di automazione. Dopo aver creato il server, è necessario eseguirlo come autonomo per la registrazione. Eseguire Visual Basic 6.0 e creare un nuovo progetto di Visual Basic 6.0. Inserire un pulsante nel modulo e modificare il gestore in modo che corrisponda il codice riportato di seguito: La chiave per ottenere questa sintassi funziona in Visual Basic 6.0 è Dim prima la variabile di matrice come variant e ReDim in modo che diventi un valore variant contenente una matrice di stringhe. Ora si è pronti per verificare il server. Impostare punti di interruzione nel codice Visual Basic 6.0 prima e dopo la chiamata a Sort. Eseguire l'applicazione di Visual Basic 6.0 fare clic su Command1 e utilizzare la finestra Espressioni di controllo per verificare i valori per v. RiferimentiPer ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito: 122287
(http://support.microsoft.com/kb/122287/
)
Limiti di Visual Basic 3.0 & Disptest come controller di automazione 131046
(http://support.microsoft.com/kb/131046/
)
Binary.exe trasferisce i dati binari utilizzando l'automazione OLE 131086
(http://support.microsoft.com/kb/131086/
)
Utilizzo di matrici protette nell'automazione 140202
(http://support.microsoft.com/kb/140202/
)
MFCArray in matrici protette di automazione MFC 122289
(http://support.microsoft.com/kb/122289/
)
Passaggio delle strutture di automazione OLE 154172 Microsoft Systems Journal , giugno 1996 "OLE di domande e risposte" di Don Box.
(http://support.microsoft.com/kb/154172/
)
Come passare i dati binari tra un controllo ActiveX e VB (c) Microsoft Corporation 1997, tutti i diritti riservati. Con il contributo di Shawn w. Karr, Microsoft Corporation. ProprietàIdentificativo articolo: 167668 - Ultima modifica: martedì 21 novembre 2006 - Revisione: 3.1 Le informazioni in questo articolo si applicano a:
Traduzione automatica articoli Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica. Clicca qui per visualizzare la versione originale in inglese dell?articolo: 167668
(http://support.microsoft.com/kb/167668/en-us/
)
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO. | Traduzione articoli
|




Torna all'inizio








