Adriano, eu fiz um programinha modelo para trabalhar com forms MDI e funcionou,
porém tive que fazer algumas coisas:
Para abrir o form estou utilizando assim:
procedure TFPrincipal.ToolButton1Click(Sender: TObject);
var
MDIAtividade: TFAtividade;
begin
MDIAtividade := TFAtividade.Create(Application);
// coloquei o contador de forms MDI mas vou implementar uma
// rotina de verificacao e contagem de form. Creio que 2 ou 3 forms
// iguais abertos sejam mais que suficiente.
MDIAtividade.Caption := 'Cadastro de Atividades '+IntToStr(MDIChildCount+1);
// seto o tamanho das janelas, pois elas não obedecem ao design do delphi
(tem vida própria... rsrsrs)
MDIAtividade.Width := 383;
MDIAtividade.Height := 283;
MDIAtividade.Show;
end;
Coloquei um DataSet e um DataSource no form dos cadastros básicos, pois senão,
sempre que abria uma nova janela e movimentava os registros nelas, as
alterações se refletiam nos outros dbgrids das janelas abertas.
Consegui abrir as janelas normalmente, porém sempre que troco de uma janela
para outra o pointer do dbgrid é movido para o primeiro registro selecionado.
Para minhas consultas básicas isto é suficiente, porém gostaria de guardar a
posição do pointer e restaurá-la sempre que selecionar novamente o form,
porém não sei em quais eventos colocar, seria algo assim:
Sempre que o dbgrid for movido, atualiza uma variavel com
registro := dataset.recno;
e sempre que for retornar para a janela em questão,
dataset.recno := registro;
porém não sei onde mecher.
Se alguém puder me dar uma luz.
Obrigado.
Eduardo Moraes
--- Em delphi-br@yahoogrupos.com.br, Adriano Barbosa adriano.barb...@...
escreveu
Também estou com o mesmo problema, estou fazendo uns testes aqui se der certo
posto a resposta aqui.
De: pastoreantenas pastoreante...@...
Para: delphi-br@yahoogrupos.com.br
Enviadas: Domingo, 20 de Setembro de 2009 15:34:05
Assunto: [delphi-br] Dúvidas iniciais
Estou iniciando a migração de um sistema de FlagShip para Delphi e
consequentemente aprendendo algumas coisas (muitas coisas).
Estou com algumas dúvidas:
1a. Como passar um DataSet como parâmetro? Tenho alguns cadastros
básicos que utilizam o mesmo form e quase sempre a mesma lógica de
programação, então gostaria de fazer um form padrão e depois herdar as
propriedades deste form para outros cadastros, porém estou usando um
DataModule para os DataSet e DataSource. Gostaria de informar assim
DataSetConsulta := DataSetCadastro mas não sei como passar um dataset
como parâmetro, nem sei se é possível.