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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-02-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Question dlls con delphi

tengo unas dudas con las dlls con delphi

¿se puede simplemente usar un form donde colocar los componentes.
y no crearlos dinamicamente escribiendolos a mano y
llamar a la funcion que los usa desde el programa cliente de la dll?

una dll puede pasar algo mas que cadenas en formato ansi.
con stdcall que con declspec

yo se que programas de reproduccion de videos usan un monton de dlls
supongo que no se pasan cadenas de texto sino archivos mp3. xml.
jpeg.


si los objetos componentes se crean dinamicamente en un form
en los eventos oncreate y se destruyen en onclose o en ondestroy

hay alguna forma de crear los componentes al momento que es cargada
la dll. ydestruidos al descargarla.

por que ahorita voy a crear los objetos en la funcion que es llamada por el
archivo cliente.
tengo esta dll
Código Delphi [-]
library ejemploLibreria;
uses
  SysUtils, Classes, Dialogs;
{$R *.res}
 
//en este procedure voy a meter mi creacion de compoenntes
procedure pruebaMensaje (mensaje : string); stdcall;
var 
   timer1 : Ttimer;
begin
 timer1 := ttimer.create(nil);
  ShowMessage (mensaje);
 
timer1.free
end;
exports pruebaMensaje;
begin
end.

ese es un procedure en una funcion
como mando el resultado de la operacion 
digamos 
 
 la dll va a guardar una imagen en un directorio
segun las variables pasadas por la aplicacion cliente. 
algo asi. 
 
function  guararimagen(letrasdentroimagen : string ; destinoimagen:String); stdcall;
begin
 //  supongamos qeu la imagen ya existe como informa a la aplicacion cliente
// que la imagen ya existe o que no se pudo guardar la imagen que son 
// 2 errores distintos. pero que significa que la imagen no se guardo y
// que la dll fallo 
end;

gracias por su atencion.
Responder Con Cita
  #2  
Antiguo 19-02-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Según lo que entendí de tu mensaje, perfectamente puedes hacer lo que deseas. Pero antes de adentrarme a la respuesta, solo quisiera aconsejarte que en la próxima fueras un poco más descriptivo en los títulos de los mensajes. Volviendo al tema, si declaras un función en la DLL ésta puede recibir y devolver varios tipos de datos (no sólo cadenas). Pero siempre es preferible utilizar los tipos de datos básicos (punteros y números).

Tomando tu función GuardarImagen, ésta la puedes declarar dentro de la DLL y en la implementación de la misma no estás limitado al tipo de datos que puedes utilizar. Esto incluye objectos, registros y cualquier otro tipo de datos proporcionados por Delphi o la VCL. Por ejemplo:
Código Delphi [-]
library ejemploLibreria;
uses
  .....;

function GuardarImage(LetrasEnImagen: string ; DestinoImage:String); Boolean; stdcall;
var
    UnaPicture: TPicture;
begin
    try
        UnaPicture := TPicture.Create(nil);
        // dibujar LetrasEnImagen dentro de UnaPicture
        ....
        Return := True;
    finally
        UnaPicture.Free;
    end;
end;

exports GuardarImage

begin
end.

La DLL anterior no debe por qué darte ningún problema. Repito, esa es mi respuesta al que creo es la duda que tienes. No sé si realmente era otra cosa la que estabas buscando.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
Respuesta



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
Problemas con uso de DLLs en Delphi 2009. Cheerpipe Varios 1 03-03-2009 16:18:33
Pregunta teórica sobre el tipo Record en DLLs en Delphi 7 nlsgarcia Varios 2 02-03-2007 03:05:41
Delphi + Dlls + VisualFox brandolin Varios 2 21-01-2006 01:50:40
Como incluir las DLLS del Delphi en mi proyecto? bustio Varios 2 24-09-2005 17:51:09
Dlls en Delphi Khelma API de Windows 0 08-03-2005 15:52:08


La franja horaria es GMT +2. Ahora son las 03:46:49.


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