Yo utilizo un método más chapucero pero igual de válido.
En lugar de crearme un DataModule, me defino la conexión en el módulo principal de la aplicación:
Código:
object ADOcn1: TADOConnection
ConnectionString =
'PROVIDER=SQLOLEDB.1;integrated security=SSPI;Initial Catalog=AIS' +
'; Persist Security Info=False;Data Source=SERVERMAYOR'
LoginPrompt = False
Provider = 'SQLOLEDB.1'
Left = 288
Top = 168
end
y, en cada formulario y para cada componente, le asigno la conexión en tiempo de ejecución:
Código:
ADOQuery1.Connection:=FPrincipal.ADOcn1; // en el evento OnCreate del formulario
por supuesto el formulario principal tiene que estar declarado en la clausula Uses de los otros.
En cualquier caso te recomiendo usar el DataModule, como te suguiren los compañeros, porque así no tienes que repetirte definiciones de componentes en cada formulario.
Mi método tiene la ventaja de que tienes que modificar menos tu código para arreglarlo.
Un saludo.