Ver Mensaje Individual
  #2  
Antiguo 22-12-2005
Avatar de OSKR
OSKR OSKR is offline
Miembro
 
Registrado: nov 2004
Ubicación: San Cristóbal/Táchira/Venezuela
Posts: 389
Reputación: 22
OSKR Va por buen camino
Estas de buenas:
Código:
#include <vcl.h>

#include <windows.h>

#include <string.h>

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)

{

return 1;

}

extern "C"

{ struct caso

{ char Ced[50];

 int Lon;

};

void __declspec(dllexport) WINAPI LongitudCad(caso *Caso)

{ Caso->Lon=strlen(Caso->Ced);

}

}

este es el codigo de la DLL....y este es el codigo del cpp q la carga:
Código:
#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "string.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

const char DLL_PRUEBA[13] = "Longitud.dll";

struct caso

{ char Ced[50];

int Lon;

};

void __stdcall (*F)(caso *);

//------------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)

{

}

void __fastcall TForm1::Button1Click(TObject *Sender)

{ caso Caso;

HINSTANCE Handle = LoadLibrary(DLL_PRUEBA);

if( Handle)

{ F=(void (__stdcall *)(caso *))GetProcAddress(Handle,"LongitudCad");

if(!F)

return;

strcpy(Caso.Ced,Edit1->Text.c_str());

F(&Caso);

ShowMessage("Longitud: "+IntToStr(Caso.Lon)+" caracteres.");

}

}

este el el .h:
Código:
#ifndef Unit1H

#define Unit1H

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

//---------------------------------------------------------------------------

class TForm1 : public TForm

{

__published: // IDE-managed Components

TButton *Button1;

TEdit *Edit1;

void __fastcall Button1Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TForm1(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TForm1 *Form1;

//---------------------------------------------------------------------------

#endif

__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad."
Simón Bolívar
(Carta al Coronel Inglés Patricio Cambell 05/08/1829).
Responder Con Cita