Controlli di Visual Basic sono stati la prima generazione di controlli ActiveX

VBX, Che cos'è un VBX?

Controlli VBX, o controlli di Visual Basic, sono stati la prima generazione di controlli ActiveX. Quando i controlli VBX sono state sviluppate in primo luogo, hanno servito nelle finestre di dialogo, come i controlli personalizzati, cose come le barre di avanzamento, e così via. Generale, un controllo VBX non gestisce i dati, mentre un controllo ActiveX potrebbe. Inoltre, solo Visual Basic è stato in grado di creare facilmente i controlli VBX. Programmatori che hanno sviluppato in C / C + +, per esempio, aveva difficoltà a creare i loro controlli VBX propria. Tuttavia, Microsoft ha finalmente messo a punto un sistema per creare VBX controlli utilizzando le piattaforme di sviluppo diversi da Visual Basic. Microsoft ha inoltre reso conto che il concetto di VBX (controlli incorporabile) è stata una buona, e che questi controlli erano qui per rimanere. Arrivò il OCX (OLE Control), la tecnologia, è stato lo sviluppo indipendente dalla piattaforma, l'utilizzo indipendente dalla piattaforma, e più flessibile. Evolution e il gioco nome allevati la testa di nuovo. Microsoft si trasferì a controlli ActiveX più come un cambiamento di nome che di funzione. E 'comune vedere i controlli ActiveX denominato OCX controlli, e viceversa. Alcuni controlli ActiveX visualizzazione dei dati. Alcuni non fanno altro che fornire una qualche forma di interfaccia utente. Ad esempio, questi controlli sono stati in uno dei miei computer:

• BtnMenu Object

• CarPointProximityCtrl

• ChatShowClt Object

  

• DirectAnimation Java Classes

• HHCTRL Object

• Classi Internet Explorer per Java

• IPTDImageControl.Slmage

• Label Object

• Microsoft MSChat Control Object

• Microsoft Search Settings Control

• Microsoft XML Parser per Java

• PopupMenu Object

• Win32 Classes

Tutti questi controlli sono stati installati nella cartella% SystemRoot% \ Occache. Se non si utilizza Internet Explorer o non sono attivi su Internet, probabilmente non avrà molti di questi controlli. Nota: Se non riesci a trovare una directory Occache, non il panico. Probabilmente è perché non hanno alcuna controlli ActiveX installati sul tuo computer!

Bugiardo, bugiardo, Pants on Fire!

Ricordo che quando ho detto in precedenza che i controlli OLE non hanno una interfaccia utente? Beh in realtà, ho mentito un po '. E 'possibile utilizzare RunDll32 per eseguire alcuni controlli OLE. RunDll32 non dispone di una interfaccia utente sia, e qualsiasi controllo che funziona con Rundll32 deve essere scritta appositamente per questo tipo di utilizzo. Ad esempio, il controllo OLE Active Movie verrà eseguito con il comando:

% SystemRoot% \ System32 \ rundll32.exe amovie.ocx, Rundll

Si apre la Active Movie controllo OLE (Rundll fornisce una finestra principale per il controllo), e Active Movie quindi visualizza una finestra di dialogo Apri file. È possibile selezionare un file Active Movie (prova clock.avi in Windows XP directory% SystemRoot%) ed eseguire utilizzando amovie.ocx. Questo è possibile perché Active Movie è stato scritto per funzionare con Rundll, e, come tale, funziona. Provare questo trucco con la maggior parte qualsiasi altro controllo OLE, e otterrete il messaggio, "Missing Rundll punto di ingresso", che indica che il punto di ingresso in passato il comando non è stata trovata. Oh, sì, si può anche passare parametri a tua OLE controllo con il comando:

Rundll:% SystemRoot% \ System32 \ rundll32.exe amovie.ocx, Rundll% SystemRoot% \ clock.avi

Questo comando carica Active Movie, carichi clock.avi, e permette all'utente di interagire con il controllo. Try it. Meglio ancora, provate questo:

% SystemRoot% \ System32 \ rundll32.exe amovie.ocx, Rundll / play / close% SystemRoot% \ clock.avi

Non a torto inserire gli spazi tra le file eseguibile (amovie.ocx nell'esempio precedente), la virgola e il punto di ingresso (Rundll nell'esempio precedente). Questo si romperà Rundll senza dirtelo perché non è riuscito. Prendi il suggerimento? Ho passato un parametro per il controllo Active Movie per riprodurre il file clock.avi e quindi chiuderlo quando il file. Avi è finito. Active Movie caricato il file specificato, ha giocato il file, e chiuso il tutto senza l'intervento dell'utente. Oh, non prendertela con me se il file clock.avi è un po 'fastidioso. In realtà, Rundll verrà eseguito più di controlli OLE-Rundll sarà (o almeno tentare di) eseguire qualsiasi file eseguibile, compresi DLL (Dynamic Link Library) e EXE (eseguibile) file. Questo è vero, come lungo come lei sa il punto del file di ingresso e il file da eseguire seguire il protocollo Rundll. Per ulteriori informazioni, vedere l'articolo Q164787 della Microsoft Knowledge Base, che può essere letta all'indirizzo http://support.microsoft.com/default.aspx?scid=kb; EN-US; q164787.

Sebbene originariamente scritto per Windows 95/98, è stato aggiornato per includere il supporto per gli utenti di Windows XP. Nota: Non sono amovie.ocx? Questo controllo è parte di molte versioni di Microsoft Internet Explorer. Praticamente tutti i sistemi operativi Windows 9x o Windows 2000 dispone di una copia che è possibile utilizzare. È possibile scaricare da Microsoft, tuttavia, il file amovie.ocx è combinato con una versione precedente di Microsoft Internet Explorer.

Client-Server OLE Applications

Applicazioni client-server OLE compongono un numero considerevole di programmi su più computer Windows. Anche se l'utente non può essere a conoscenza di quali applicazioni client-server OLE sono installati, ci sono molti. Uno dei migliori design e meglio integrato serie di applicazioni di Microsoft Office è, attualmente rilasciato come Office XP. Nota Office XP è veramente Office, versione 10. Microsoft non ha usato il numero di versione, come parte del nome del prodotto per un certo tempo. Tuttavia, molte delle voci dell'Ufficio del Registro di sistema e file / i nomi delle cartelle utilizzare il numero di versione. Basta ricordare che Office XP è la versione di Office 10 (e Office 2000 è la versione di Office 9). Office XP unisce l'elaborazione di testi (Word per Windows XP), fogli di calcolo (Excel XP), un sistema di database (Access XP), un programma per presentazioni (PowerPoint XP), e una serie di utilità (come ad esempio grafico). Ciascuna delle principali applicazioni di Microsoft Office funziona sia come client e un server. Alcune applicazioni, come ad esempio la parola Arte e utilità Chart-non sono progettati per funzionare come semplici clienti. Per esempio, prendere Word XP (un programma che almeno so come usare). Word, un client. . . Parola. Aprire Word e modificare un documento. Scrivere una breve lettera a qualcuno, non importa chi. Creare qualcosa, su una pagina lunga, tre o quattro punti. Hai la funzionalità di Word in tutti questi punti, l'avete fatto tutto utilizzando Word e nient'altro. Ora le cose cominciano a farsi interessanti. Inserire un oggetto. Per sorride, si inserisce un disegno in un documento di Word. Fare clic su Inserisci → Oggetto. Word visualizza la finestra di dialogo Oggetto che elenca tutti gli oggetti embeddable server OLE (vedi Figura 6.1). In realtà, OLE utilizza una chiamata API per visualizzare la finestra di dialogo.

Alcuni server di lavoro da parte del tutto incorporando stessi in Word. Ad esempio, Microsoft Photo Editor è chiamato a modificare (o selezionare, se si sta creando un nuovo oggetto), l'immagine che avete inserito. Con Office XP, Word non incorporare il server, ma il server si chiama come un processo separato. Word XP viene visualizzata la barra degli strumenti standard di immagine, e si può modificare l'immagine sia selezionando Modifica → Photo Editor Photo Object → Modifica o facendo semplicemente doppio clic sull'immagine. (Sto saltando avanti alcuni qui, a meno di notare come mostra la Figura 6,3 Word XP con l'immagine di figura 6.2 incorporato come un oggetto di Microsoft Photo Editor.)

E 'veramente incredibile che Microsoft Photo Editor (o qualsiasi altro server oggetto, in questo caso) funziona senza Microsoft Word avere una conoscenza preliminare di esso. In realtà, selezionare (doppio clic sull'oggetto, ad esempio) un oggetto di Microsoft Photo Editor, Word e permette a Microsoft Photo Editor. Microsoft Photo Editor, quindi visualizza una finestra separata con finestra di Word, in modo che l'utente può passare da un documento di Word e l'oggetto, se necessario, io uso questo stesso processo, mentre scrivo. Quando il Microsoft Photo Editor oggetto non è selezionata, Word consente normale funzionamento (si veda la Figura 6.2). You do contesto di commutazione tra Word e Microsoft Photo Editor quando si seleziona qualcosa nel documento. Se la selezione è un oggetto di Microsoft Photo Editor (si veda la Figura 6.3), Microsoft Photo Editor è messo sotto controllo, altrimenti, Word prende il controllo. Un sacco di magia succede dietro le quinte. Quando si salva un documento complesso che contiene gli oggetti OLE, il server di oggetti 'salvare gli oggetti OLE quando e dove ha incaricato di farlo da Word. Oops, tema deriva. Sto cercando di rendere tutti un esperto OLE. Vediamo se riesco a avvolgere questo in poche parole, quindi collegare il tutto con il Registro di sistema. Così, in poche parole:

• Le applicazioni client possono avere gli oggetti OLE incorporati nei loro documenti, e / o disporre di funzionalità di server OLE incorporato nella loro funzionalità di base.

• L'inclusione è fatto a runtime, per cui lo sviluppatore non sa nulla di ciò che l'incorporamento avverrà quando il programma è stato scritto.

• Quando un'applicazione client vuole incorporare un oggetto OLE, l'applicazione client chiama OLE per visualizzare la finestra di dialogo Inserisci oggetto per l'utente. L'utente seleziona quindi l'oggetto incorporato.

• selezionando l'oggetto, OLE consente l'interfaccia utente del client (menu e barre degli strumenti, per esempio) per essere consegnato per l'applicazione server.

• Le applicazioni server può modificare l'oggetto in luogo, o può creare una speciale finestra di editing, che possono avere menu / barra degli strumenti di sostegno, a seconda dei casi. Di solito, oggetti complessi hanno le loro finestre proprio per l'editing solo per mantenere le cose più semplici per l'utente.

• OLE utilizza il Registro di sistema per conoscere le applicazioni server incorporabile.

• server OLE e le applicazioni client sono identificati da CLSID; UUID call 'em, GUID o, se volete. Un CLSID è una stringa unica lunga serie di numeri.

• L'applicazione server è in grado di utilizzare OLE per dire al cliente che il server ha le capacità. Questo permette al cliente di comportarsi in un modo prevedibile. Nota: È possibile incorporare un oggetto OLE puramente funzionale in un documento. Di volta in volta con la programmazione di database, i controlli OLE (ActiveX) e le applicazioni OLE (ad esempio, senza dati specifici, come ad esempio Microsoft Calendar Control 10.0) sono utilizzati. OK, ho cianciare su circa OLE abbastanza a lungo (è che un applauso selvaggio Ho sentito?), quindi andiamo alla componente del Registro di sistema OLE.

un articolo presentato dalla Mathenes Dessue


Disclaimer:Il nostro sito non è responsabile per il contenuto di questo articolo. Webarticles è una risorsa gratuita di informazioni.
Importante: Questo articolo "controlli di Visual Basic sono stati la prima generazione di controlli ActiveX" è stato tradotto da un software automatico. Ci dispiace per eventuali errori di ortografia che possono essersi verificati. Grazie per la vostra comprensione.


Online: 308 users browsing the articles directory