Hola
Yo, particuarmente, sacaría los resultados a un fichero .INI para comprobar que los parámetros "top", "left" y "width" estan dentro de lo que deseas, por si, como dice
Al González, los estás situando fuera de los límites del form
Código Delphi
[-]
begin
vDBT[i]:= TDateTimePicker.Create(self);
with vDBT[i] do
begin
Parent:=self;
Name := 'TT'+dm01.ds03.DataSet.Fields[i-1].FieldName;
Hint := 'TD'+dm01.ds03.DataSet.Fields[i-1].FieldName;
Left := pleft;
top := ptop;
Width := 210;
DateFormat := dfLong;
Kind := dtkDate;
Height := 21;
Enabled := true;
visible := true;
Left+vDBT[i].Width>fAddProdMan.Left-5 then
Width := fAddProdMan.Left - Left-5;
IniFile := TIniFile( 'objetos.ini' );
with IniFile do begin
WriteString( Name, 'NAME', Name );
WriteInteger(Name, 'LEFT', Left );
WriteInteger(Name, 'TOP', Top );
WriteInteger(Name, 'WIDTH', Width );
Free;
end;
end;
end;
Así tendrías una cabecera de sección por objeto, con los valores correspondientes a cada uno.
Saludos
Salvica