Avatar billede hrc Mester
14. september 2007 - 09:40 Der er 1 løsning

Komponenentfabrikation. Gemme properties i DFM-fil.

Min allerførste komponent er en nedarving af TDataSource, der indeholder 3 komponenter: TClientDataSet, TADOQuery og TDataSetProvider.

Altså en komponent der indkapsler al funktionalitet mht. ClientDataSet. Jeg gider ikke proppe 4 komponenter på hver eneste gang jeg skal rode i en tabel.

Komponenten er installeret i Delphi 2007's palette og kan bruges runtime - men properties i de indkapslede komponenter (bl.a. ADOQuery) gemmes ikke i DFM-filen.

Har prøvet at kigge på TLabeledEdit men den har ikke hjulpet.

Min constructor ser således su:

constructor TUniQum.Create(aOwner: TComponent);
begin
  inherited Create(aOwner);

  // Create the buggers
  fQuery := TADOQuery.Create(self);
  fQuery.FreeNotification(self);
  fQuery.Name := 'Query';

  fProvider := TDataSetProvider.Create(self);
  fProvider.FreeNotification(self);
  fProvider.Name := 'Provider';

  fDataSet := TClientDataSet.Create(self);
  fDataSet.FreeNotification(self);
  fDataSet.Name := 'DataSet';

  // Hookup
  fProvider.DataSet := fQuery;
  fDataSet.ProviderName := fProvider.Name;
  inherited DataSet := fDataSet;
end;

... det gælder vel både design- og runtime, ikke? Hvorfor kan jeg så ikke se noget designtime?
Avatar billede hrc Mester
27. september 2007 - 09:25 #1
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester