Newsgroup: it.comp.lang.delphi
Titolo: Package help

Salve a tutti, sono alle prime armi con i packge.
Ho provato a scrivere il solito hiperlink,linklabel(il componente per
inserire link nei programmi).
Ma non va.. Quando lo installo tutto ok ma se la inserisco nei porgrammi mi
da l'errore "Property does not esist".
Vi posto il codice.
-------------------------------------------------------------------------
unit LinkLabel;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;
type
  TLinkLabel = class(TLabel)
  private
     flink:string;
     flinkcolor:tcolor;
     procedure MouseEnter(var message:tMessage); message CM_MOUSEENTER;
     procedure Mouseleave(var message:tMessage); message CM_MOUSEleave;
    { Private declarations }
  protected
    { Protected declarations }
  public
     procedure click; override;
  published
     property link:string read flink write flink; { Public declarations }
     property linkcolor:Tcolor read flinkcolor write flinkcolor;
    { Published declarations }
  end;
var vcol:tcolor;
procedure Register;
implementation
 uses shellapi;
procedure Register;
begin
  RegisterComponents('Internet', [TLinkLabel]);
end;
procedure Tlinklabel.click;
begin
 inherited;
 shellexecute(parent.handle,'open',pchar(flink),'','',sw_normal);
end;
procedure Tlinklabel.MouseEnter(var message:tMessage);
begin
 vcol:=font.color;
 font.color:=flinkcolor;
end;
procedure Tlinklabel.Mouseleave(var message:tMessage);
begin
   font.color:=vcol;
 end;
end.
-----------------------------------------------------------------------
Help me, tnx.
Ps bello il sito di {MSX}

"Stefano" ha scritto nel messaggio
| Ho provato a scrivere il solito hiperlink,linklabel(il componente per
| inserire link nei programmi).
| Ma non va.. Quando lo installo tutto ok ma se la inserisco nei porgrammi
mi
| da l'errore "Property does not esist".
Con D6 PE funziona a dovere.
| var vcol:tcolor;
Unico consiglio: sposta questa variabile nella sezione
private dell'oggetto.
--
Ciao.
ACSH
[D4]
---------------------------
Chi fa da se'
fatica il doppio

Ho rinunciato a capire xchč nn andava!
Anche se disinstallavo il componente e poi lo reinstallavo niente. Ho
risolto cancellano tutti i file e "incollando" il codice della unit...
ByEz
Un certo "ACSH" <cat...@XXXinfinito.it> ha scritto il messaggio:
o_mq8.44221$
pT1.1...@news1.tin.it
 che ha colto la mia attenzione...


Un nuovo aiuto.. come mai, inserendo una property published di tipo tfont,
in un componente quando si usa la proprietą nell Object Insp. appare
l'errore unable to expand?
io ho la proprietą pubblisched
property LinkFont:Tfont read flinkfont write flinkfont;
dove flinkfont č di tipo tfont...
Re-Help me!

"Stefano" ha scritto nel messaggio
| Un nuovo aiuto.. come mai, inserendo una property published di tipo

TFont e' un oggetto. Devi creare dei metodi per leggere ed impostare
proprieta' di questo tipo.
Esempio:
  TOggettoDiProva = class(TPersistent)
  private
    <...>
    FFont: TFont;
    function GetFont: TFont;
    function IsFontStored: Boolean;
    procedure SetFont(Value: TFont);
  published
    <...>
    property Font: TFont read GetFont write SetFont stored IsFontStored;
  end;
Vedi l'help 'Component writer's guide' di D6 per maggiori informazioni
a riguardo.


ok avevo risolto :)
Un certo "ACSH" <cat...@XXXinfinito.it> ha scritto il messaggio:
7cnr8.64444$
S52.2...@news2.tin.it
 che ha colto la mia attenzione...
