brunomf01 Posted May 2, 2019 Share Posted May 2, 2019 Estou com um problema há alguns dias, onde não consigo criar forms de forma dinamica em tabs (no caso criar varios forms de uma vez, para editar detalhes de registros em algumas telas do meu sistema, assim como tenho na aplicação em VCL) function TMainForm.CreateView(pView: TUniFormClass; pContainer: TWinControl): TUniForm; var vForm: TUniForm; vFormClass: TUniFormClass; begin vFormClass := TUniFormClass(pView); vForm := vFormClass.Create(UniApplication); vForm.Parent := pContainer; vForm.Position := poOwnerFormCenter; vForm.Height := pContainer.Height -5; {Desconta a borda do form pai} vForm.Width := pContainer.Width -5; vForm.BorderStyle := bsNone; // vForm.Align := alClient; vForm.BorderIcons := []; // vForm.Repaint; // TUniBaseView(vForm).WindowState := wsMaximized; Result := vForm; Result.Show; end; para usar a função eu já tenho o pageControl na tela com as 3 paginas criadas, 3 forms para teste criados e uso o seguinte código para chamar a função acima: CreateView(TUniForm1, UniTabSheet6); CreateView(TUniForm2, UniTabSheet7); CreateView(TUniForm3, UniTabSheet8); O problema no caso é que ele cria o form nas duas primeiras tabs mas na terceira não como na imagem do link a seguir: https://www.dropbox.com/s/isstu0udr7au0iv/tabs_forms_dinamic.jpeg?dl=0 e gera o erro do link a seguir também: https://www.dropbox.com/s/8kh6y2hly64r5dg/tabs_forms_dinamic_error.jpeg?dl=0 já faz alguns dias que estou tentando achar o que é o problema, caso alguém puder ajudar, fico muito grato. PS: eu já notei que com TUniFrame funciona, porém já fiz a base do sistema todo usando TUniForm PS2: uniGUI Versão 1.10.0.1466 Link to comment Share on other sites More sharing options...
Andriws Luna Posted May 14, 2019 Share Posted May 14, 2019 Bruno, o que estás fazendo é algo estranho. O princípio básico do form , seja unigui ou VCL, é que ele foi feito para ser mostrado de forma livre (Show) ou de forma acorrentada (Showmodal). Você tá usando o form para fazer justamente algo que ele não foi feito para fazer (Placed), que é a finalidade do Frame. Seja lá em qual etapa estiver do seu projeto, aconselho corrigir isto o quanto antes. O tempo que você vai perder resolvendo este e outros possíveis problemas será muito maior do que o tempo da correção. Sugiro alterar um dos forms de forma textual (alterando os arquivos .pas e .dfm) substituindo "class = (TUniForm)" para "class = (TUniFrame)" e ver o que acontece. Se funcionar, automatize as substituições. Link to comment Share on other sites More sharing options...
sroberto Posted May 31, 2019 Share Posted May 31, 2019 Olá, O Form funciona também da forma que deseja, e tem exemplos nos Demos (não é com PageControl)... E tem esse exemplo com Frames também: 1 Link to comment Share on other sites More sharing options...
ricardolb Posted June 4, 2019 Share Posted June 4, 2019 Não utilize TWinControl, somente TUniControl Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now