drkirocorp Ens


Registrado: 28 Abr 2006Mensajes: 29Ubicación: Comitan de Dominguez, Chiapas
|
Publicado: Mie 09 Jul, 2008 9:19 pm Asunto: Form en DLL Sugerencias |
|
|
Hola a todos;
Bueno soy nuevo en el manejo de las DLL y pues e creado un formulario desde una DLL, les pongo el ejemplo para que me digan si voy por el camino correcto, que me falta y como puedo mejorarlo...
este ejemplo tiene como aplicacion base un formulario con un edit y un button que al precionar el button crea desde la dll un formulario con un edit y un button.
Ahora bien, como puedo hacer que el button del formulario de la dll manipule el edit de mi formulario principal...
Archivo .cpp: uFrmDLL.dll
| Código: |
#include <vcl>
#include <windows>
#pragma hdrstop
#define BUILDDLL
#include "hFrmDLL.h"
#include "uMyFrmX.h"
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
//---------------------------------------------------------------------------
int MyNewForm(TForm* parent)
{
TMyFrmX* form = new TMyFrmX(parent);
int result = form->ShowModal();
delete form;
return result;
}
|
Archivo .h: hFrmDLL.h
| Código: |
#ifndef __MYDLL_H
#define __MYDLL_H
#ifdef BUILDDLL
#define DLL_MODE __declspec(dllexport)
#else
#ifdef BUILDAPP
#define DLL_MODE __declspec(dllimport)
#endif
#endif
extern "C" DLL_MODE int MyNewForm(TForm* parent);
#endif
|
Archivo .cpp: uMyFrmX.h
| Código: |
//---------------------------------------------------------------------------
#ifndef uMyFrmXH
#define uMyFrmXH
//---------------------------------------------------------------------------
#include <Classes>
#include <Controls>
#include <StdCtrls>
#include <Forms>
//---------------------------------------------------------------------------
class TMyFrmX : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
TEdit *Edit1;
void __fastcall Button1Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TMyFrmX(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TMyFrmX *MyFrmX;
//---------------------------------------------------------------------------
#endif
|
y el .cpp de mi aplicacion principal: uMainFrm.cpp
| Código: |
#include <vcl>
#pragma hdrstop
#define BUILDAPP
#include "uMainFrm.h"
#include "hFrmDLL.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
MyNewForm(this);
}
//---------------------------------------------------------------------------
|
Saludos... _________________ Dr. Kiro - Corp®
Toda la magia en solo dos numero... 1 0... |
|