Red de conocimiento informático - Material del sitio web - ¿Cómo utilizar Delphi para escribir archivos DLL que puedan usarse en programas como ASP? No sé cómo escribir un archivo DLL en Delphi que pueda usarse en un programa como ASP.

¿Cómo utilizar Delphi para escribir archivos DLL que puedan usarse en programas como ASP? No sé cómo escribir un archivo DLL en Delphi que pueda usarse en un programa como ASP.

El componente del servidor ActiveX en ASP es un componente ActiveX de automatización estándar. Solo necesita utilizar la interfaz proporcionada por ASP y cumplir con las reglas relevantes de ASP. Como lenguaje de desarrollo eficiente, rápido y poderoso, Delphi 4.0 proporciona funciones muy poderosas para desarrollar componentes COM. Sin embargo, por razones desconocidas, pocas personas usan Delphi para escribir componentes de servidor ActiveX en ASP. Este artículo tiene como objetivo presentar cómo utilizar Delphi para escribir componentes ActiveX en ASP a través de ejemplos.

Crear un proyecto de biblioteca ActiveX

Abra el editor Delphi, seleccione Archivo/Nuevo en el menú y seleccione la opción Biblioteca ActiveX en el elemento Nuevo del proyecto ActiveX. En las opciones de la biblioteca, Delphi generará automáticamente el siguiente código:

Proyecto de biblioteca1;

utiliza

ComServ

exportaciones

DllGetClassObject,

DllCanUnloadNow,

DllRegisterServer,

DllUnregisterServer

{$R *.RES}

comienzo

fin. La función DllGetClassObject es responsable de convertir la llamada de entrada de la biblioteca COM en la fábrica de clases correspondiente; la función DllCanUnloadNow se usa para notificar al motor OLE que liberará automáticamente la memoria si no hay ninguna referencia del programa; Se utiliza para registrar el servidor COM. En resumen, Delphi ha hecho todo el trabajo auxiliar por usted, solo necesita escribir el módulo de funciones principal.

2. Agregue un nuevo objeto de automatización al proyecto

Seleccione Archivo/Nuevo en el menú del editor de Delphi, seleccione la opción Objeto de automatización en el elemento ActiveX en el elemento Nuevo y El sistema mostrará el Asistente de objetos de automatización e ingresará TestObject en Nombre del objeto. Ingrese TestObject en el nombre del objeto y seleccione la opción "Instancia múltiple". Después de presionar "Aceptar", aparecerá el editor de tipos. El código para pas es el siguiente:

Inicialización

TAutoObjectFactory.Create(ComServer, TTestObject,

Class-TestObject, ciMultiInstance

<); p> end .

Esto le dice al objeto de fábrica de clases cómo y dónde ejecutar.

3. Agregue propiedades y métodos al componente

En el editor de tipos, haga clic en el botón de método en la barra de herramientas y agregue el siguiente método:

OnStartPage( unk: IUnknown)

OnEndPage.

Prueba.

En StartPage, agregue el parámetro unk en el elemento Parámetros, escriba Iunknown, después de agregar los tres métodos, presione la tecla Refrash en el editor de tipos, aparecerán tres funciones en Unit1.pas, escriba el siguiente programa debajo de cada función:

procedimiento Ttestobject.OnStartPage(unk: IUnknown);

comenzar

m_scriptContext: = desconocido como IScriptingContext

final; > procedimiento Ttestobject.OnEndPage;

comenzar

m_scriptContext:= nil;

fin;

Procedimiento Ttestobject.test;

comenzar

m- scriptContext.Response.Write(′ActiveX Test For Delphi′);

end

Cuando IIS activa el componente ActiveX, busca automáticamente la presencia de los métodos OnStartPage y OnEndPage en el componente. Si está presente, el servidor ejecuta automáticamente el método OnStartPage cuando se abre una página ASP y el método OnEndPage cuando se ejecutan todos los scripts de la página ASP. pas file Usa más ASPTypeLibrary-TLB en

unidad unidad1

interfaz

usa ComObj, ActiveX, Delphi_TLB, ASPTypeLibrary-TLB, SysUtils;

El archivo ASPTypeLibrary -Pas se puede obtener introduciendo una biblioteca de tipos. Abra el elemento Proyecto/biblioteca de tipos de importación en el menú del editor de Delphi, seleccione la biblioteca de tipos de Microsoft Active Server Pages y presione Aceptar. Delphi generará automáticamente una ASPTypeLibrary. Delphi generará automáticamente ASPTypeLibrary_TLB.Pas. Compilar y registrar

Seleccione el elemento Proyecto/Compilar en el menú del editor Delphi para compilar el archivo y luego seleccione Ejecutar/Registrar servidor ActiveX para registrar el archivo Project1.dll.

5. Utilice Project1.dll en el archivo ASP

Agregue el siguiente texto en el archivo ASP:

Set TestASP = Server.CreateObject(Project1.TestObject )

TestASP.p>

A través del ejemplo anterior, podemos encontrar que es muy fácil usar Delphi para escribir componentes de servidor ASP ActiveX, junto con el rico conjunto de componentes de Delphi y su potente funciones Por lo tanto, creemos que será muy conveniente utilizar Delphi para escribir componentes especiales del servidor ASP, como bases de datos, servidores, información diversa y acceso a recursos, etc.

------------------------------------------- ----- ---------------------------------------

(Por Sun Hangdong 7 de diciembre de 2000 10:01)

Como todos sabemos, la tecnología asp es nuestra principal tecnología como plataforma de programas web en Internet/intranet. En las aplicaciones asp, generalmente utilizamos dos. Lenguajes de scripting: vbscripts y javascripts. Sin embargo, el lenguaje de secuencias de comandos es un lenguaje no compilado. Existen problemas inherentes de seguridad, eficiencia de ejecución y escalabilidad al desarrollar programas de páginas web. Por lo tanto, cuando desarrollamos sistemas de páginas web, generalmente utilizamos lenguajes de alto nivel para escribir archivos ejecutables ASP. y luego Utilice el lenguaje de secuencias de comandos como código de enlace para llamar al archivo ejecutable ASP para realizar el acceso. En este sentido, Microsoft lanzó la tecnología ASP, por lo que generalmente usamos vb o vc, entonces, ¿cómo lo logran los programadores de Delphi?

En este sentido, el autor recientemente realizó la programación web de tecnología ASP en el entorno Delphi a través de la información de inrpisre, que ahora se presenta de la siguiente manera:

1. Crear un nuevo aplicación en el entorno Delphi Proyecto Acdivex dll proyecto1, y luego cree un objeto asp a través del objeto de servidor activo de Delphi y complete el nombre del objeto creado myaspobject en su nombre de coclase.

2. Cree un lenguaje de secuencia de comandos para el objeto myaspobject recién creado a través de la biblioteca de tipos, y se llamará al método myasprequest.

3. El lenguaje de secuencia de comandos creado por el objeto myaspobject llame a myasprequest.

p>

4. Dado que el objeto myaspobject es un proyecto nuevo.

p>

3. Dado que el objeto asp recién creado se hereda de taspobject, podemos usar directamente los métodos en el objeto asp para crearlo. Ahora complete el código para el objeto asp que creamos de la siguiente manera:

produce tmyaspobject.myasprequest;

comienza

repsonse.form.item['work']);

repsonse.write( 'lt ;/pgt;');//lee el nombre de usuario de la página que se creará lt;/pgt;');//lee el trabajo del usuario de la página que se creará//

repsonse. write('lt;pgt; La herramienta de desarrollo que utilizó:');

if(request.if(request.form.item['delphi'].countgt;0)

repsonse.write('delphi');

if(request.form.item['bcb'].countgt; 0)

repsonse.write('c constructor ') ;//determinar la herramienta de desarrollo utilizada por el usuario//

repsonse.write('lt;/pgt;');

repsonse.write('lt;pgt ;' );