Newsgroup: it.comp.lang.delphi
Titolo: Tframe

Ciao a tutti,
secondo voi cosa sbaglio? 
unit FrameDetail;
interface
uses
  SysUtils, Classes, Controls, Forms;
type
  TFrameDetail = class(TCustomFrame)
  private
    { Private declarations }
  protected
    { Protected declarations }
  public
    { Public declarations }
  published
    { Published declarations }
  end;
procedure Register;
implementation
procedure Register;
begin
  RegisterComponents('StdComp', [TFrameDetail]);
end;
end.
mi dà questo errore : Error reading Frame2.TabOrder : TabOrder does not
exist. etc. etc.
p.s. questo componente non fa nulla di diverso da quello standard ma è
solo perchè gli ho eliminato tutte le cose che faceva per cercare di
capire dov'è l'errore... ma non ci sono riuscito!
Grazie
Rino

 exist. etc. etc.
Credo che il problema sia dovuto al fatto che ai *TFrame* è assegnato un 
particolare "designer" che si aspetta di trovare determinate proprietà, 
proprietà che nella tua classe sono inaccessibili poichè erediti da 
*TCustomFrame*.
Ciao,
   Marco.
-- 
MARCO «Alka» BREVEGLIERI
   (
http://www.marco.breveglieri.name
)
Leggi le FAQ di ICLD: 
http://icld.altervista.org

no, un attimo, prima ereditavo da TFRAME... e cmq non andava...
dopo ho provato con TCustomFrame....

 
ma come faccio a mettere questo frame ereditato nel menù dell'IDE :
FILE | NEW | OTHER  ?

 FILE | NEW | OTHER  ?
Ho paura che tu debba costruire un wizard a questo scopo, a meno che tu 
non voglia utilizzare il tuo Frame come puro e semplice modello di 
partenza (inserendolo in "Object Repository"). :-/
Per la costruzione del wizard, devi cimentarti con la Open Tools API.
Forse può esserti utile questo articolo:
http://bdn.borland.com/borcon2004/article/paper/0,1963,32119,00.html


 partenza (inserendolo in "Object Repository"). :-/
 
andrebbe benissimo nell' Object Repository.... 
ma non riesco a farlo....
apro il package, apro il mio Frame customizzato, tasto destro del mouse....
ma "Add to Repository" non c'è!
Come posso fare secondo te?

 Come posso fare secondo te?
Che versione di Delphi usi? Io ho un progetto VCL aperto in Delphi2005, 
faccio clic con il tasto destro su un Frame e la voce "Add to 
Repository" mi appare. :-/


 Repository" mi appare. :-/
Delphi2005 Update 2 .
Però un attimo, io non ho un progetto, ma un package, 
con una semplice unit contenente il codice
riportato nel primo POST...
 

 riportato nel primo POST...
Prova a caricare il tuo Frame all'interno del progetto di un'applicazione.


 E' uscito un Update 3... ;-)
lo sò, appena posso lo scarico...
 
forse ci sono riuscito...
ti aggiorno....ora sto facendo qualche test...

FILE | NEW | OTHER ?
Scusate se mi intrometto, ma sono curioso di sapere se
è un cambiamento avvenuto con D2005 la discordanza di
codice che noto (apparte il TCustomFrame).
Io ho Delphi6 e se faccio File>New>Frame dall'IDE
quello che ottengo è il seguente codice che evidenzia
la necessità di associare al .pas un file .dfm con i
dati che assicurano la persistenza della struttura
visuale ed i valori delle proprietà assegnate da
"Object Inspector" dei componenti impostati a design.
------------------------------------------------------------
unit Unit2;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
  TFrame1 = class(TFrame)
  private
    { Private declarations }
  public
    { Public declarations }
  end;
implementation
{$R *.dfm}
end.
-------------------------------------------------------------
in più non vedo la procedura di registrazione del
componente "Register", che effettivamente, secondo me
non ci dovrebbe essere, poichè i frames non vengono
gestiti come comuni componenti. Per inserire un frame
presente nel package o nell'applicazione corrente
(selezionata nel "Project Manager") bisogna cliccare
sul bottone "Frames" della palette "Standard".
Forse è cambiato qualcosa in D2005? oppure un paio di
manovre sfortunate hanno sporcato il codice? :)
	Ciao
	MassimoB
 
---------------------------------
http://www.massimobeschi.it/
---------------------------------
Se tu pagare come dici tu ...
Io lavorare come dico io ...
Se tu pagare come dico io ...
Io lavorare come dici tu ...
---------------------------------

 gestiti come comuni componenti.
Suppongo che la procedura /Register/ sia stata in ogni caso aggiunta 
manualmente in un secondo tempo.


non và....
riesco ad aggiungerlo nel Repository ma
quando da un progetto faccio : File | New | Other  e clicco
sul mio Frame personalizzato noto che le property aggiunte non
sono visualizzate nell' object inspector....
Cosa sbaglio?
Qualcuno mi dice passo per passo come fare a creare un frame custom, metterlo
in un package, renderlo disponibile nel Repository? in Delphi2005?
Grazie mille....
Rino
 

 exist. etc. etc.
prova a esporre come published tutte le proprietà che non lo sono in 
TCustomFrame, per fare ciò copia semplicemente quanto dichiarato in 
forms.pas
  TFrameDetail = class(TCustomFrame)
  published
    property Align;
    property Anchors;
    property AutoScroll;
    property AutoSize;
    property BiDiMode;
    property Constraints;
    property DockSite;
    property DragCursor;
    property DragKind;
    property DragMode;
    property Enabled;
    property Color nodefault;
    property Ctl3D;
    property Font;
    property ParentBackground default True;
    property ParentBiDiMode;
    property ParentColor;
    property ParentCtl3D;
    property ParentFont;
    property ParentShowHint;
    property PopupMenu;
    property ShowHint;
    property TabOrder;
    property TabStop;
    property Visible;
    property OnCanResize;
    property OnClick;
    property OnConstrainedResize;
    property OnContextPopup;
    property OnDblClick;
    property OnDockDrop;
    property OnDockOver;
    property OnDragDrop;
    property OnDragOver;
    property OnEndDock;
    property OnEndDrag;
    property OnEnter;
    property OnExit;
    property OnGetSiteInfo;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
    property OnMouseWheel;
    property OnMouseWheelDown;
    property OnMouseWheelUp;
    property OnResize;
    property OnStartDock;
    property OnStartDrag;
    property OnUnDock;
  end;
-- 
Mauro Falzari 
   [ 
http://digilander.libero.it/mauro.falzari
 ]
 
 "Se guardi nell'abisso, anche l'abisso guarda in te." 
   (Friedrich Nietzsche)