| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
philips Capt

Registrado: 16 Nov 2005Mensajes: 154
|
Publicado: Mie 28 Ene, 2009 1:17 pm Asunto: Pasar TForm y TMemo a una Dll |
|
|
Estoy intentando pasar un TForm y un TMemo a una dll para que desde ella se pueda interactuar con ellos desde la dll
Lo hago de la siguiente forma
void calculo(TForm1 *Form1, TMemo *Memo1)
El caso es que algo estoy haciendo mal ya que al compilar la dll recibo este error
[BCC32 Error] calculo.h(51): E2303 Type name expected
Una ayuda por favor
Phil |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Vie 30 Ene, 2009 2:50 am Asunto: |
|
|
En principio y solo con lo que muestras diría que no estás incluyendo las cabeceras donde están los tipos "TForm1" y "TMemo".
Un ejemplo suponiendo que enlazas la DLL estáticamente... usaremos la clase base "TForm" en lugar de "TForm1" (podremos acceder a los miembros estándar de un Form).
- En la DLL:
| Código: | #include <Forms.hpp> // TForm
#include <StdCtrls.hpp> // TMemo
__declspec(dllexport) void calculo(TForm* Form, TMemo* Memo)
{
Form->Color = clRed;
Memo->Lines->Add("Prueba");
} |
- En el ejecutable:
| Código: | // Ponemos la declaración por ejemplo en la cabecera del modulo donde la vamos a usar:
__declspec(dllimport) void calculo(TForm* Form, TMemo* Memo); |
| Código: | // Y la llamamos por ejemplo desde un botón:
calculo(Form1, Memo1); |
|
|
| Volver arriba |
|
 |
philips Capt

Registrado: 16 Nov 2005Mensajes: 154
|
Publicado: Sab 31 Ene, 2009 12:07 pm Asunto: |
|
|
Gracias Leo por la ayuda, funciona perfecto
Faltaban los includes
Realmente lo que necesitaba era simplemente poder manejar un Memo que tengo en mi Form principal .Es decir borrarlo, añadir lineas, etc
Todo ello para descargar de codigo el fuente del principal ya que como habrás podido leer en el foro me ha surgido un grave problema que no me dejaba añadir mas lineas de código
De este modo voy incluyendo en la dll codigo y quitando del otro lado
Con esto puedo añadir mas líneas
Gracias de nuevo
Phil |
|
| Volver arriba |
|
 |
|