Creación de Componentes XPCOM

  • Enlace amigable (slug) de la revisión: Creación_de_Componentes_XPCOM
  • Título de la revisión: Creación de Componentes XPCOM
  • Id de la revisión: 271693
  • Creada:
  • Creador: Maharba
  • ¿Es la revisión actual? No
  • Comentario /* [[Creating XPCOM Components:Component Internals|Component Internals]] */

Contenido de la revisión

{{wiki.template('Traducción', [ "inglés", "Creating_XPCOM Components", "en" ])}}


{{template.Next("Creating XPCOM Components:Preface")}}

Prefacio

Quién debe Leer este Libro
Organizacion del Tutorial
Continuando con los Ejemplos
Convenciones
Admisiones

Un vistazo de XPCOM

La Solución XPCOM
Gecko
Componentes
Interfases
Interfases y Encapsulación
La Interfase Base nsISupports
Identificadores XPCOM
CID
Contract ID
Factorías
XPIDL and Type Libraries
Servicios XPCOM
Tipos XPCOM
Tipos de Métodos
Conteo de Referencias
Códigos de Estatus
Variable Mappings
Códigos de Error Comunes de XPCOM

Uso de Componentes XPCOM

Ejemplos de Componentes
Manejador de Cookies
El Componente WebBrowserFind
El Componente WebLock
Uso de Componentes en Mozilla
Localizar Componentes de Mozilla
Usar Componentes XPCOM en tu Cpp
XPConnect: Usar Componentes XPCOM desde un Script

Component Internals

Creating Components in Cpp
XPCOM Initialization
XPCOM Registry Manifests
Registration Methods in XPCOM
Autoregistration
The Shutdown Process
Three Parts of a XPCOM Component Library
XPCOM Glue
The Glue Library
XPCOM String Classes

Creating the Component Code

What We'll Be Working On
Component Registration
The regxpcom Program
Registration Alternatives
Overview of the WebLock Module Source
Digging In: Required Includes and Constants
Identifiers in XPCOM
Coding for the Registration Process
The Registration Methods
Creating an Instance of Your Component
webLock1.cpp

Using XPCOM Utilities to Make Things Easier

XPCOM Macros
Generic XPCOM Module Macros
Common Implementation Macros
Declaration Macros
webLock2.cpp
String Classes in XPCOM
Using Strings
nsEmbedString and nsEmbedCString
Smart Pointers

Starting WebLock

Getting Called at Startup
Registering for Notifications
Getting Access to the Category Manager
Providing Access to WebLock
Creating the WebLock Programming Interface
Defining the WebLock Interface in XPIDL
The XPIDL Syntax
Scriptable Interfaces
Subclassing nsISupports
The Web Locking Interface
Implementing WebLock
Declaration Macros
Representing Return Values in XPCOM
XPIDL Code Generation
Getting the WebLock Service from a Client
Implementing the iWebLock Interface
The Directory Service
Modifying Paths with nsIFile
Manipulating Files with nsIFile
Using nsILocalFile for Reading Data
Processing the White List Data
iWebLock Method By Method
Lock and Unlock
AddSite
RemoveSite
SetSites
GetNext
GetSites
HasMoreElements

Finishing the Component

Using Frozen Interfaces
Copying Interfaces Into Your Build Environment
Implementing the nsIContentPolicy Interface
Receiving Notifications
Implementing the nsIContentPolicy
Uniform Resource Locators
Checking the White List
Creating nsIURI Objects

Building the WebLock UI

User Interface Package List
Client Code Overview
XUL
The XUL Document
The Locking UI
Site Adding UI
weblock.xul
Overlaying New User Interface Into Mozilla
webLockOverlay.xul
Other Resources
weblock.css
Image Resources

Packaging WebLock

Component Installation Overview
Archiving Resources
The WebLock Installation Script
The WebLock Trigger Script
Distributing Your Component

Appendix A - Setting up the Gecko SDK

Downloading and Setting the SDK
Building a Microsoft Visual Cpp Project
Creating a New Project
Adding the Gecko SDK to the Project Settings
A Makefile for Unix

Appendix B - Resources

WebLock Resources
Gecko Resources
XPCOM Resources
General Development Resources

{{template.Next("Creating XPCOM Components:Preface")}} {{template.CXCLicenseBlock()}}

{{ wiki.languages( { "zh-cn": "cn/\u521b\u5efa_XPCOM_\u7ec4\u4ef6", "en": "en/Creating_XPCOM_Components" } ) }}

Fuente de la revisión

<p>
</p><p>{{wiki.template('Traducción', [ "inglés", "Creating_XPCOM Components", "en" ])}}
</p><p><br>
</p><p>{{template.Next("Creating XPCOM Components:Preface")}}
</p>
<h3 name="Prefacio"> <a href="es/Creando_Components_XPCOM/Prefacio">Prefacio</a> </h3>
<dl><dd> <a href="es/Creando_Components_XPCOM/Prefacio#Qui.C3.A9n_debe_Leer_este_Libro">Quién debe Leer este Libro</a>
</dd><dd> <a href="es/Creando_Components_XPCOM/Prefacio#Organizacion_del_Tutorial">Organizacion del Tutorial</a> 
</dd><dd> <a href="es/Creando_Components_XPCOM/Prefacio#Continuando_con_los_Ejemplos">Continuando con los Ejemplos</a>
</dd><dd> <a href="es/Creando_Components_XPCOM/Prefacio#Convenciones">Convenciones</a>
</dd><dd> <a href="es/Creando_Components_XPCOM/Prefacio#Admisiones">Admisiones</a>
</dd></dl>
<h3 name="Un_vistazo_de_XPCOM"> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM">Un vistazo de XPCOM</a> </h3>
<dl><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#La_Soluci.C3.B3n_XPCOM">La Solución XPCOM</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#Gecko">Gecko</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#Componentes">Componentes</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#Interfases">Interfases</a>
<dl><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#Interfases_y_Encapsulaci.C3.B3n">Interfases y Encapsulación</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#La_Interfase_Base_nsISupports">La Interfase Base  <code>nsISupports</code></a>
</dd></dl>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#Identificadores_XPCOM">Identificadores XPCOM</a>
<dl><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#CID">CID</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#Contract_ID">Contract ID</a>
</dd></dl>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#Factor.C3.ADas">Factorías</a>
<dl><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#XPIDL_and_Type_Libraries">XPIDL and Type Libraries</a>
</dd></dl>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#Servicios_XPCOM">Servicios XPCOM</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#Tipos_XPCOM">Tipos XPCOM</a>
<dl><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#Tipos_de_M.C3.A9todos">Tipos de Métodos</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#Conteo_de_Referencias">Conteo de Referencias</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#C.C3.B3digos_de_Estatus">Códigos de Estatus</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#Variable_Mappings">Variable Mappings</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Un_vistazo_de_XPCOM#C.C3.B3digos_de_Error_Comunes_de_XPCOM">Códigos de Error Comunes de XPCOM</a>
</dd></dl>
</dd></dl>
<h3 name="Uso_de_Componentes_XPCOM"> <a href="es/Creando_Componentes_XPCOM/Uso_de_Componentes_XPCOM">Uso de Componentes XPCOM</a> </h3>
<dl><dd> <a href="es/Creando_Componentes_XPCOM/Uso_de_Componentes_XPCOM#Ejemplos_de_Componentes">Ejemplos de Componentes</a>
<dl><dd> <a href="es/Creando_Componentes_XPCOM/Uso_de_Componentes_XPCOM#Manejador_de_Cookies">Manejador de Cookies</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Uso_de_Componentes_XPCOM#El_Componente_WebBrowserFind">El Componente <b>WebBrowserFind</b></a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Uso_de_Componentes_XPCOM#El_Componente_WebLock">El Componente <b>WebLock</b></a>
</dd></dl>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Uso_de_Componentes_XPCOM#Uso_de_Componentes_en_Mozilla">Uso de Componentes en Mozilla</a>
<dl><dd> <a href="es/Creando_Componentes_XPCOM/Uso_de_Componentes_XPCOM#Localizar_Componentes_de_Mozilla">Localizar Componentes de Mozilla</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Uso_de_Componentes_XPCOM#Usar_Componentes_XPCOM_en_tu_Cpp">Usar Componentes XPCOM en tu Cpp</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Uso_de_Componentes_XPCOM#XPConnect:_Usar_Componentes_XPCOM_desde_un_Script">XPConnect: Usar Componentes XPCOM desde un Script</a>
</dd></dl>
</dd></dl>
<h3 name="Component_Internals"> <a href="es/Creando_Componentes_XPCOM/Component_Internals">Component Internals</a> </h3>
<dl><dd> <a href="es/Creando_Componentes_XPCOM/Component_Internals#Creating_Components_in_Cpp">Creating Components in Cpp</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Component_Internals#XPCOM_Initialization">XPCOM Initialization</a>
<dl><dd> <a href="es/Creando_Componentes_XPCOM/Component_Internals#XPCOM_Registry_Manifests">XPCOM Registry Manifests</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Component_Internals#Registration_Methods_in_XPCOM">Registration Methods in XPCOM</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Component_Internals#Autoregistration">Autoregistration</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Component_Internals#The_Shutdown_Process">The Shutdown Process</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Component_Internals#Three_Parts_of_a_XPCOM_Component_Library">Three Parts of a XPCOM Component Library</a>
</dd></dl>
</dd><dd> <a href="es/Creando_Components_XPCOM/Component_Internals#XPCOM_Glue">XPCOM Glue</a>
<dl><dd> <a href="es/Creando_Componentes_XPCOM/Component_Internals#The_Glue_Library">The Glue Library</a>
</dd><dd> <a href="es/Creando_Componentes_XPCOM/Component_Internals#XPCOM_String_Classes">XPCOM String Classes</a>
</dd></dl>
</dd></dl>
<h3 name="Creating_the_Component_Code"> <a href="es/Creating_XPCOM_Components/Creating_the_Component_Code">Creating the Component Code</a> </h3>
<dl><dd> <a href="es/Creating_XPCOM_Components/Creating_the_Component_Code#What_We.27ll_Be_Working_On">What We'll Be Working On</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Creating_the_Component_Code#Component_Registration">Component Registration</a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Creating_the_Component_Code#The_regxpcom_Program">The <code>regxpcom</code> Program</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Creating_the_Component_Code#Registration_Alternatives">Registration Alternatives</a>
</dd></dl>
</dd><dd> <a href="es/Creating_XPCOM_Components/Creating_the_Component_Code#Overview_of_the_WebLock_Module_Source">Overview of the <b>WebLock</b> Module Source</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Creating_the_Component_Code#Digging_In:_Required_Includes_and_Constants">Digging In: Required Includes and Constants</a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Creating_the_Component_Code#Identifiers_in_XPCOM">Identifiers in XPCOM</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Creating_the_Component_Code#Coding_for_the_Registration_Process">Coding for the Registration Process</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Creating_the_Component_Code#The_Registration_Methods">The Registration Methods</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Creating_the_Component_Code#Creating_an_Instance_of_Your_Component">Creating an Instance of Your Component</a>
</dd></dl>
</dd><dd> <a href="es/Creating_XPCOM_Components/Creating_the_Component_Code#webLock1.cpp"><code>webLock1.cpp</code></a>
</dd></dl>
<h3 name="Using_XPCOM_Utilities_to_Make_Things_Easier"> <a href="es/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier">Using XPCOM Utilities to Make Things Easier</a> </h3>
<dl><dd> <a href="es/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#XPCOM_Macros">XPCOM Macros</a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Generic_XPCOM_Module_Macros">Generic XPCOM Module Macros</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Common_Implementation_Macros">Common Implementation Macros</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Declaration_Macros">Declaration Macros</a>
</dd></dl>
</dd><dd> <a href="es/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#webLock2.cpp"><code>webLock2.cpp</code></a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#String_Classes_in_XPCOM">String Classes in XPCOM</a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Using_Strings">Using Strings</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#nsEmbedString_and_nsEmbedCString"><code>nsEmbedString</code> and <code>nsEmbedCString</code></a>
</dd></dl>
</dd><dd> <a href="es/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Smart_Pointers">Smart Pointers</a>
</dd></dl>
<h3 name="Starting_WebLock"> <a href="es/Creating_XPCOM_Components/Starting_WebLock">Starting <b>WebLock</b></a> </h3>
<dl><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Getting_Called_at_Startup">Getting Called at Startup</a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Registering_for_Notifications">Registering for Notifications</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Getting_Access_to_the_Category_Manager">Getting Access to the Category Manager</a>
</dd></dl>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Providing_Access_to_WebLock">Providing Access to <b>WebLock</b></a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Creating_the_WebLock_Programming_Interface">Creating the <b>WebLock</b> Programming Interface</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Defining_the_WebLock_Interface_in_XPIDL">Defining the <b>WebLock</b> Interface in XPIDL</a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#The_XPIDL_Syntax">The XPIDL Syntax</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Scriptable_Interfaces">Scriptable Interfaces</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Subclassing_nsISupports">Subclassing <code>nsISupports</code></a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#The_Web_Locking_Interface">The Web Locking Interface</a>
</dd></dl>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Implementing_WebLock">Implementing <b>WebLock</b></a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Declaration_Macros">Declaration Macros</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Representing_Return_Values_in_XPCOM">Representing Return Values in XPCOM</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#XPIDL_Code_Generation">XPIDL Code Generation</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Getting_the_WebLock_Service_from_a_Client">Getting the <b>WebLock</b> Service from a Client</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Implementing_the_iWebLock_Interface">Implementing the <code>iWebLock</code> Interface</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#The_Directory_Service">The Directory Service</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Modifying_Paths_with_nsIFile">Modifying Paths with <code>nsIFile</code></a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Manipulating_Files_with_nsIFile">Manipulating Files with <code>nsIFile</code></a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Using_nsILocalFile_for_Reading_Data">Using <code>nsILocalFile</code> for Reading Data</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Processing_the_White_List_Data">Processing the White List Data</a>
</dd></dl>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#iWebLock_Method_By_Method"><code>iWebLock</code> Method By Method</a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#Lock_and_Unlock"><code>Lock</code> and <code>Unlock</code></a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#AddSite"><code>AddSite</code></a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#RemoveSite"><code>RemoveSite</code></a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#SetSites"><code>SetSites</code></a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#GetNext"><code>GetNext</code></a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#GetSites"><code>GetSites</code></a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Starting_WebLock#HasMoreElements"><code>HasMoreElements</code></a>
</dd></dl>
</dd></dl>
<h3 name="Finishing_the_Component"> <a href="es/Creating_XPCOM_Components/Finishing_the_Component">Finishing the Component</a> </h3>
<dl><dd> <a href="es/Creating_XPCOM_Components/Finishing_the_Component#Using_Frozen_Interfaces">Using Frozen Interfaces</a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Finishing_the_Component#Copying_Interfaces_Into_Your_Build_Environment">Copying Interfaces Into Your Build Environment</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Finishing_the_Component#Implementing_the_nsIContentPolicy_Interface">Implementing the <code>nsIContentPolicy</code> Interface</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Finishing_the_Component#Receiving_Notifications">Receiving Notifications</a>
</dd></dl>
</dd><dd> <a href="es/Creating_XPCOM_Components/Finishing_the_Component#Implementing_the_nsIContentPolicy">Implementing the <code>nsIContentPolicy</code></a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Finishing_the_Component#Uniform_Resource_Locators">Uniform Resource Locators</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Finishing_the_Component#Checking_the_White_List">Checking the White List</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Finishing_the_Component#Creating_nsIURI_Objects">Creating <code>nsIURI</code> Objects</a>
</dd></dl>
</dd></dl>
<h3 name="Building_the_WebLock_UI"> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI">Building the <b>WebLock</b> UI</a> </h3>
<dl><dd> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI#User_Interface_Package_List">User Interface Package List</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI#Client_Code_Overview">Client Code Overview</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI#XUL">XUL</a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI#The_XUL_Document">The XUL Document</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI#The_Locking_UI">The Locking UI</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI#Site_Adding_UI">Site Adding UI</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI#weblock.xul"><code>weblock.xul</code></a>
</dd></dl>
</dd><dd> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI#Overlaying_New_User_Interface_Into_Mozilla">Overlaying New User Interface Into Mozilla</a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI#webLockOverlay.xul"><code>webLockOverlay.xul</code></a>
</dd></dl>
</dd><dd> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI#Other_Resources">Other Resources</a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI#weblock.css"><code>weblock.css</code></a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Building_the_WebLock_UI#Image_Resources">Image Resources</a>
</dd></dl>
</dd></dl>
<h3 name="Packaging_WebLock"> <a href="es/Creating_XPCOM_Components/Packaging_WebLock">Packaging WebLock</a> </h3>
<dl><dd> <a href="es/Creating_XPCOM_Components/Packaging_WebLock#Component_Installation_Overview">Component Installation Overview</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Packaging_WebLock#Archiving_Resources">Archiving Resources</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Packaging_WebLock#The_WebLock_Installation_Script">The <b>WebLock</b> Installation Script</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Packaging_WebLock#The_WebLock_Trigger_Script">The <b>WebLock</b> Trigger Script</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Packaging_WebLock#Distributing_Your_Component">Distributing Your Component</a>
</dd></dl>
<h3 name="Appendix_A_-_Setting_up_the_Gecko_SDK"> <a href="es/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK">Appendix A - Setting up the Gecko SDK</a> </h3>
<dl><dd> <a href="es/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Downloading_and_Setting_the_SDK">Downloading and Setting the SDK</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Building_a_Microsoft_Visual_Cpp_Project">Building a Microsoft Visual Cpp Project</a>
<dl><dd> <a href="es/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Creating_a_New_Project">Creating a New Project</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Adding_the_Gecko_SDK_to_the_Project_Settings">Adding the Gecko SDK to the Project Settings</a>
</dd></dl>
</dd><dd> <a href="es/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#A_Makefile_for_Unix">A Makefile for Unix</a>
</dd></dl>
<h3 name="Appendix_B_-_Resources"> <a href="es/Creating_XPCOM_Components/Resources">Appendix B - Resources</a> </h3>
<dl><dd> <a href="es/Creating_XPCOM_Components/Resources#WebLock_Resources">WebLock Resources</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Resources#Gecko_Resources">Gecko Resources</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Resources#XPCOM_Resources">XPCOM Resources</a>
</dd><dd> <a href="es/Creating_XPCOM_Components/Resources#General_Development_Resources">General Development Resources</a>
</dd></dl>
<p>{{template.Next("Creating XPCOM Components:Preface")}}
{{template.CXCLicenseBlock()}}
</p>
<div class="noinclude">
</div>
{{ wiki.languages( { "zh-cn": "cn/\u521b\u5efa_XPCOM_\u7ec4\u4ef6", "en": "en/Creating_XPCOM_Components" } ) }}
Revertir a esta revisión