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
  #1  
Antiguo 19-04-2007
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Cambiar propiedades de componentes desde una DLL

Hola a todos, que tengan un buen dia.
Tengo el siguiente procedimiento
Código Delphi [-]
procedure TForm2.CentrarMarco(Marco: TFrame);
var
  aux: double;
  s: string;
begin
  aux := panelcontenido.Width - marco.Width;
  aux := aux / 2;
  s := floattostr(aux);
  Delete(s, pos(decimalseparator, s), MaxInt);
  marco.Left := strtoint(s);
  aux := panelcontenido.Height - marco.Height;
  aux := aux / 2;
  s := floattostr(aux);
  Delete(s, pos(decimalseparator, s), MaxInt);
  marco.Top := strtoint(s) - 20;
end;
en un proyecto, lo que hace es que centra un marco (frame) en un panel, lo uso cada vez que creo un marco o cada vez que ajusto el tamaño de mi forma. Quiero usar este procedimiento en otros proyectos, entonces lo que hice fue ponerlo en una DLL, para estar reutilizando el código. En la DLL lo puse de la siguiente manera:
Código Delphi [-]
library frames;

uses
  SysUtils, Classes, Forms, ExtCtrls;

{$R *.res}

procedure centrarmarco(marco: tframe; base: tpanel);
var
  aux: double;
  s: string;
begin
  aux := base.Width - marco.Width;
  aux := aux / 2;
  s := floattostr(aux);
  Delete(s, pos(decimalseparator, s), MaxInt);
  marco.Left := strtoint(s);
  aux := base.Height - marco.Height;
  aux := aux / 2;
  s := floattostr(aux);
  Delete(s, pos(decimalseparator, s), MaxInt);
  marco.Top := strtoint(s) - 20;
end;

exports centrarmarco;

begin
end.
En mi aplicación tengo declarado el procedimiento de la siguiente manera:
Código Delphi [-]
procedure centrarmarco(marco: tframe; base: tpanel); stdcall; external 'frames.dll'
Lo mando llamar de la siguiente manera:
Código Delphi [-]
CentrarMarco(FrameCamAlt, panelcontenido);
Y no hace nada, no mueve las propiedades de mi frame... pensé en hacer dos funciones que me regresen un número entero, una para el left y otra para el top del marco que quiero centrar, pero quisiera hacerlo de la manera en que lo muestro aqui... Es esto posible?
Gracias de antemano, Dios los bendiga.
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal"
Siempre hazlo con la ayuda de Dios
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
Cambiar la una propiedades de todos los componentes de una form Mauro® Varios 4 09-01-2007 20:36:21
Acceso a las propiedades de un objeto desde el editor de propiedades Hugo OOP 0 24-11-2006 12:58:22
Propiedades de los componentes jaime cotino Conexión con bases de datos 4 26-05-2004 16:05:31
propiedades de componentes Descendents OOP 1 19-01-2004 16:24:25
Componentes/propiedades Xavierator Varios 3 01-12-2003 20:05:53


La franja horaria es GMT +2. Ahora son las 19:43:36.


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