Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 12-11-2008
dfarias dfarias is offline
Miembro
 
Registrado: abr 2007
Posts: 79
Poder: 18
dfarias Va por buen camino
Estoy probando con el uso del DLL externas y no logro hacer que me devuelvan datos las funciones.

Por ejemplo este unit en la funcion VerVersion si que me devuelve el valor numerico pero no me asigna nada a la variable cadena, la cual se cargaria con los datos de la version i.e.(Rel.4.13) . Creo que el paso por puntero es correcto.


unit Main;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
AbrirPuerto: TButton;
VerVersion: TButton;
procedure AbrirPuertoClick(Sender: TObject);
procedure VerVersionClick(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }

cadena:string;

function OpenSerial(PortNumber:LongWord): LongWord;
function CloseSerial:longword;


end;

var
Form1: TForm1;

implementation

function Dll_OpenSerial(PortNumber:LongWord): integer; external 'I:\PRUEBA\DLL_ACCESS_POINT.dll';

function Dll_CloseSerial(PortNumber:longword): longword; external 'I:\PRUEBA\DLL_ACCESS_POINT.dll'

function Dll_GetDllVersion(var cadena): longword; external 'I:\PRUEBA\DLL_ACCESS_POINT.dll'

function Dll_ReqSysInfo(var sInfo:string):longWord; external 'I:\PRUEBA\DLL_ACCESS_POINT.dll'

{$R *.dfm}

procedure TForm1.AbrirPuertoClick(Sender: TObject);

begin

OpenSerial(0);
OpenSerial(1);
OpenSerial(2);
OpenSerial(3);
OpenSerial(4);
OpenSerial(5);

end;


procedure TForm1.VerVersionClick(Sender: TObject);
var
resultado:longWord;

begin
cadena:= '1234567890';
resultado:= Dll_GetDllVersion( cadena);
MensaPanta(resultado);
MensaPanta(cadena);
end;



function TForm1.OpenSerial(PortNumber: LongWord): LongWord;

begin
result:= Dll_OpenSerial(PortNumber);
if result = 1 then
MensaPanta('Abrio')
else
MensaPanta('Error');
end;

end.


Muchas gracias por vuestra ayuda.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Incorporar DDL a EXE carmax Varios 1 10-02-2007 18:21:07
incorporar imagenes a un RichEdit1 jorodgar Varios 3 29-04-2005 20:16:54
problemas al incorporar en red un equipo con windows xp Aprendiendo Varios 0 28-03-2005 14:19:51
Ejecutar proyecto. bububin Varios 2 01-06-2004 08:54:47
Proyecto MDI? danytorres Varios 2 29-10-2003 15:52:25


La franja horaria es GMT +2. Ahora son las 14:01:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi