Sto lavorando su delphi XE2.
Cosa mi serve:
Ho bisogno della classe MyFrame con frame senza componenti visibili, ma con il nuovo evento visibile in Object Inspector. Questo evento informerà il mio modulo (sul quale verrà inserito l'oggetto MyFrame), che per esempio tutti i dati sul frame vengono riempiti.delphi - Creazione di frame personalizzati con nuovo evento
Quello che ho:
Sulla base this post e la risposta del TOndrej, e that hint, dove spettacoli Ba, che per XE2 abbiamo bisogno di sostituire
delphivclide := GetModuleHandle('delphivclide160.bpl');
con questo:
delphivclide := GetModuleHandle('vcldesigner160.bpl');
Ho quel codice per il nuovo frame:
unit MyFrame;
interface
uses
System.Classes, Vcl.Forms;
type
TMyFrame = class(TFrame)
private
protected
FOnFilledData : TNotifyEvent;
public
published
property OnFilledData : TNotifyEvent read FOnFilledData write FOnFilledData;
end;
implementation
end.
E che codificano per l'unità di registrazione:
unit MyFrameReg;
interface
procedure Register;
implementation
uses Windows, DesignIntf, Dialogs, wFrame;
procedure Register;
var
delphivclide: THandle;
TFrameModule: TCustomModuleClass;
begin
delphivclide := GetModuleHandle('vcldesigner160.bpl');
if delphivclide <> 0 then
begin
TFrameModule := GetProcAddress(delphivclide, '@[email protected]@');
if Assigned(TFrameModule) then
begin
ShowMessage('I''m here');
RegisterCustomModule(TMyFrame, TFrameModule);
end;
end;
end;
end.
Quando Io edificherò il mio pacchetto, ho il messaggio Sono qui, così ho supossed, che il MyFrame è registrato.
Qual è il mio problema:
Il problema è che dosn't lavoro fino alla fine.
Quando scelgo Nuova applicazione VCL e desidero creare MyFrame scegliendo File -> Nuovo -> Altro -> Progetti Delphi -> MyFrame, viene visualizzata una finestra strana mostrata di seguito.
Selezionando una directory e facendo clic sul pulsante OK, il nuovo progetto Delphi viene chiuso e viene aperto il progetto del pacchetto.
sarò molto contento, se qualcuno mi può consigliare, che cosa ho fatto di sbagliato.
Si sta utilizzando un mod non documentato non supportato. Forse l'implementazione è cambiata. Dopotutto, l'IDE ora ha il nuovo designer FMX. Nessuna sorpresa che le cose possano essere diverse. –
@DavidHeffernan La documentazione ufficiale fa schifo solo quando è necessario fare cose del genere ... –