FIX: Esecuzione side-by-side Windows non supportata per controlli ActiveX di Visual Basic 6.0

Traduzione articoli Traduzione articoli
Identificativo articolo: 828629 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sintomi

Con Microsoft Windows XP e versioni successive, è possibile eseguire moduli DLL COM (Component Object Model) in modalità-side (SxS). Con SxS, versioni diverse di una DLL COM per coesistere nello stesso ambiente computer senza conflitti. Questo comportamento si verifica utilizzando i file manifest che specificano come può associare un programma per una determinata DLL COM. I controlli di ActiveX di Microsoft Visual Basic 6.0 sono essenzialmente il DLL COM moduli con estensione ocx. Se si tenta di configurare questi moduli per l'operazione side-by-side in Windows XP, è visualizzato il seguente messaggio di errore:

Errore di runtime '336' componente registrato non correttamente.

Cause

Questo problema si verifica perché Windows e Visual Basic Runtime non supportano la configurazione l'esecuzione di side-by-side di controlli ActiveX di Visual Basic 6.0.

Risoluzione

Per risolvere completamente il problema è necessario disporre delle seguenti operazioni:
  • Versione di runtime di Visual Basic incluso in Visual Basic 6 con Service Pack 6 (SP6)
  • Windows XP Service Pack 2 (SP2)
Per ulteriori informazioni su come ottenere il runtime più recente di Visual Basic, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290887VBRun60sp6.exe installa i file di runtime di Visual Basic 6.0 SP6
Per ottenere Windows XP SP2, il seguente sito Web Microsoft Knowledge Base:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;windowsxpsp2
Se non è possibile installare Windows XP SP2, è possibile ottenere la correzione di Windows XP come aggiornamento rapido. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
843524FIX: Il manifesto del modulo di DLL COM side-by-side per i controlli ActiveX di Visual Basic 6.0 viene sostituita del Registro di sistema in Windows XP

Informazioni

Per attivare questa correzione, è necessario aggiungere campi per i file con estensione manifest. The following is a sample .manifest file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
	<assemblyIdentity type="win32" name="control.ocx" version="1.0.0.0" processorArchitecture="x86"/>
	<file name="control.ocx">
		<comClass description="Sub control" clsid="{76548630-0CC8-48E4-B471-A9001865AE65}" 
			miscStatus="recomposeonresize,cantlinkinside,insideout,activatewhenvisible,setclientsitefirst"
			progid="Control.TextBox" threadingModel="Apartment"
			tlbid="{8A1ADF05-8164-4D5B-9267-FA74E601D826}"/>
		<typelib tlbid="{8A1ADF05-8164-4D5B-9267-FA74E601D826}" version="1.0" helpdir=""/>
	</file>
</assembly>
che è stato aggiunto l'attributo miscStatus . Ora cinque nuovi attributi sono disponibili nell'elemento dell'assembly o sull'elemento classecom per rappresentare i vari valori DVASPECT disponibili:
Riduci questa tabellaEspandi questa tabella
AttributoNota
miscStatus I flag di stato predefinita vengono ottenuti quando si passa 0 per l'argomento dwAspect all'API OleRegGetMiscStatus
miscStatusIcon Esegue il mapping a DVASPECT_ICON
miscStatusThumbnail Esegue il mapping a DVASPECT_THUMBNAIL
miscStatusDocPrint Esegue il mapping a DVASPECT_CONTENT
miscStatusContent Esegue il mapping a DVASPECT_CONTENT
Per ogni aspetto, il set di flag seguente è possibile specificare come elenco delimitato da virgole. Non utilizzare caratteri spazio ("") ma i flag possono essere maiuscole. Questi elementi provengono dall'enumerazione OLEMISC flag.
Riduci questa tabellaEspandi questa tabella
Recomposeonresize Onlyiconic Insertnotreplace
StaticoCantlinkinsideCanlinkbyole1
IslinkobjectInsideoutActivatewhenvisible
RenderingisdeviceindependentInvisibleatruntimeAlwaysrun
ActslikebuttonActslikelabelNouiactivate
AlignableSimpleframeSetclientsitefirst
ImemodeIgnoreactivatewhenvisibleWantstomenumerge
Supportsmultilevelundo
Si noti che è necessario anche utilizzare l'attributo tlbid nell'elemento assembly o nell'elemento classecom per indicare quale libreria dei tipi della classe COM provengono da per il runtime per risolverlo correttamente.

Status

Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".

Proprietà

Identificativo articolo: 828629 - Ultima modifica: martedì 25 ottobre 2005 - Revisione: 1.1
Le informazioni in questo articolo si applicano a:
  • Microsoft Visual Basic 6.0 Enterprise Edition Service Pack 5
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic Professional Edition for Windows 6.0 SP5
  • Microsoft Windows XP Professional SP1
  • Microsoft Windows XP Professional SP1a
Chiavi: 
kbmt kbhotfixserver kbqfe kbqfe kbwinxppresp2fix kbfix kbbug KB828629 KbMtit
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: 828629
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.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com