Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-03-2010
ElDuc ElDuc is offline
Miembro
 
Registrado: jul 2004
Posts: 197
Poder: 0
ElDuc Va por buen camino
Smile Solucionado

Colegas, muchas gracias por vuestra colaboración, por fin lo he conseguid.

Pongo el código y mis comentarios para revertir en aquellos que, como yo hasta ahora, puedan necesitarlo.

Icono del componente:
Lo he solucionado utilizando un archivo *.DCR en lugar de *.RES.
Ya sabéis, si vuestro archivo de código en el que se declara el componente se llama Componentes.PAS, vuestro paquete de recursos debe llamarse Componentes.DCR (igual que el *.PAS, pero cambiando la extensión) y si dentro del archivo Componentes.PAS hay la declaración de dos componentes Componente1 y Componente2, deberéis crear dos bitmaps de 24x24 pixels con los nombre COMPONENTE1 y COMPONENTE2 (TODO EN MAYÚSCULAS), Lo compilais todo y a correr.

Propiedades desplegables (Conjuntos / Record)
Aqií os pongo el código completo de mi unidad:
Código Delphi [-]
unit _ieApplication;
 
interface
 
uses
  SysUtils, Classes, JfMain;
 
type
  TieData=Class(TPersistent)
    Private
    vA:Integer;
    vB:String;
    Function rA:Integer;
    Procedure wA(Value:Integer);
    Function rB:String;
    Procedure wB(Value:String);
    Published
    // Normalmente no son necesarios estos métodos a no ser que se quiera ejercer
    // algún control, pero esto limitará las posibilidades de los descendientes
    Property A:Integer Read rA Write wA;
    Property B:String Read rB Write wB;
    End;

  TieApplication = class(TJfCApplication)
    private
    { Private declarations }
    vieData:TieData;
    Procedure wieData(V:TieData);
    protected
    { Protected declarations }
    public
    { Public declarations }
    Constructor Create(AOwner:TComponent); Override;
    Destructor Destroy; Override;
    published
    { Published declarations }
    // No me acepta una función de lectura cuando el tipo es una clase,
    // pero no es una limitación muy importante
    Property ieData:TieData Read vieData Write wieData;
  end;
 
procedure Register;
 
implementation
 
Function TieData.rA:Integer;
Begin
Result:=vA;
End;
 
Procedure TieData.wA(Value:Integer);
Begin
vA:=Value;
End;
 
Function TieData.rB:String;
Begin
Result:=vB;
End;
 
Procedure TieData.wB(Value:String);
Begin
vB:=Value;
End;
 
Constructor TieApplication.Create(AOwner:TComponent);
Begin
Inherited Create(AOwner);
vieData:=TieData.Create;
// Default
vieData.A:=123;
vieData.B:='Vacia';
End;
 
Destructor TieApplication.Destroy;
Begin
vieData.Free;
Inherited;
End;
 
Procedure TieApplication.wieData(V:TieData);
Begin
vieData.A:=V.A;
vieData.B:=V.B;
End;
 
procedure Register;
begin
  RegisterComponents('ieCRON', [TieApplication]);
end;
 
end.

Cuando quieres crear un conjunto de propiedades (las que en el inspector de objetos se pueden replegar y desplegar con el icono +desplegar y -replegar)
Debes crear una clase con sus propiedades, como en mi código en el cual creo una propiedad ieData que contiene dos propiedades:
A:Integer y B:String;

Espero que esta información pueda ser de utilidad para los que andéis perdidos como estaba yo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Componentes nasedo Varios 6 11-02-2008 20:33:56
¡Malditos campos incrementables! MON___ SQL 4 18-07-2007 03:10:58
malditos requisitos monopolicos!!! Pascalizado La Taberna 4 29-09-2006 17:17:19
Componentes PHP Bicho PHP 2 13-12-2004 16:18:37


La franja horaria es GMT +2. Ahora son las 05:21:08.


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