¿Qué es COM?
Según la Wikipedia:
Component Object Model (COM) es una plataforma de Microsoft para componentes de software introducida por dicha empresa en 1993. Esta plataforma es utilizada para permitir la comunicación entre procesos y la creación dinámica de objetos, en cualquier lenguaje de programación que soporte dicha tecnología. El término COM es a menudo usado en el mundo del desarrollo de software como un término que abarca las tecnologías OLE, OLE Automation, ActiveX, COM+ y DCOM.
Ejemplos de creación de objetos COM:
PHP
$obj->metodonombre();
$obj->atributo = "atributo";
VBScript
Set obj = CreateObject(“nombreObjeto”)
obj.metodo()
Jscript
obj = new ActiveXObject("nombreObjeto");
Ruby
obj = WIN32OLE.new(‘nombreObjeto’)
Perl
$my obj = Win32::OLE->new(“nombreObjeto”);
Pascal
objeto: variant;
Objeto := CreateOleObject(“nombreObjeto”);
Ejemplo
El siguiente ejemplo es un validador de documentos XML en PHP (también se puede hacer gracias a COM en otros lenguajes)
{
if($xmlDOM = new COM("Microsoft.XMLDOM"))
{
$xmlDOM->async = "false";
$xmlDOM->validateOnParse = "true";
$xmlDOM->load($argv[1]);
echo "\n[-] Archivo XML cargado\n";
echo "[-] validando...\n";
if($xmlDOM->parseError->errorCode == 0)
{
echo "[-] No se encontraron errores\n";
echo "[-] Documento XML valido (congratulations)\n";
}
else
{
echo "[*] Error: \n";
echo "\n Codigo de error: ".$xmlDOM->parseError->errorCode;
echo "\n Descripcion del error: ".$xmlDOM->parseError->reason;
echo "\n Linea: ".$xmlDOM->parseError->line."\n";
}
}
else
{
exit("[*] Error... objeto com no creado.\n");
}
}
else
{
echo "XML Validator Coded by Amir Canto | http://www.algoritmatica.com\n";
echo "Usage: $argv[0] archivo.xml\n";
exit(0);
}
Un saludo!.
Si alguien conoce alguno más! Que no dude en hacérnoslo saber! Ayudanos a completar la lista =).







