Il linguaggio di programmazione Delphi
 

Istanze a Datamodule come parametro

Stefano 3 Feb 2017 11:06
Uso 1 Form residente n Form Datamodule (uno di questi lo uso per
FDConecction, Trasaction, etc) tutti istanziati a RunTime

es: clConnect: Tfrm_Connect(Datamodule)

quando Istanzio altri Form/Datamodule gli passo il parametro ClConnect

es: Istanzio DataModule2 e passo il parametro clConnect

Form1
uses clConnect;

clConnect := Tfrm_Connection.Create(Self);
DataModule2.SetConnect(clConnect);


DataModule2
// riceve il parametro realtivo all'istanza sulla connesione
uses .. unt_Connect

private
clConnect: Tfrm_Connect

aSetConnection: Tfrm_Connect
....

procedure Datamodule2.SetConnect(aConnect: Tfrm_Connection)
begin
aSetConnection := aConnect;
end;

//////////

Tutto funziona regolarmente, ma vorrei un parere se il processo sia
corretto.

Cosi' creo una sola Istanza al datamodule contenente FDConnection,
FDTransaction, etc (clConnect) e la passo ai vari Form che ne
necessitino per operazioni su Db

un qualunque Datamodule che riceve il parametro clConnect, puo' eseguire
operazoni come quella sotto, sapendo che usa sempre la stessa istanza.

clConnect.FDTransaction1.StartTransaction.

Unico dubbio, Tfrm_Connection e' sulla unit unt_Connect; pertanto su
ogni datamodule devo aggiungere unt_Connect alle uses, in caso contrario
la classe Tfrm_Connection non viene "vista".

grazie per eventuali commenti.
Stefano

//unit unt_Connect
type
Tfrm_Connection = class(TDataModule)
FDConnection1: TFDConnection;
FDPhysFBDriverLink1: TFDPhysFBDriverLink;
FDGUIxWaitCursor1: TFDGUIxWaitCursor;
FDTransaction1: TFDTransaction;

private
{ Private declarations }

public
{ Public declarations }
function ConnectDbFb(sIp, sPort, sClientDb, sPathDb: String): boolean;
procedure Disconnect;
end;

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Il linguaggio di programmazione Delphi | Tutti i gruppi | it.comp.lang.delphi | Notizie e discussioni delphi | Delphi Mobile | Servizio di consultazione news.