Jump to content

wilton_educasoft

Members
  • Posts

    25
  • Joined

  • Last visited

Everything posted by wilton_educasoft

  1. what has changed between version 99.96.1326 and 99.96.1327, as in the changelog does not have any change
  2. how to reproduce event onshow in tuniframe, this event not exist. after create, i need send same variables to tuniframe simple exemple function TMainForm.CreateFrame(c,Name: string):tuniframe; var f:tuniframe; begin f:=TUniFrameClass(FindClass(Name)).Create(Self); f.Align:=alClient; f.Parent:=FormSheet; FormSheet.caption :=c; result :=f; end; procedure TMainForm.UniButton1Click(Sender: TObject); var f:Tuniframe; begin f :=CreateFrame('Sample','TFrameSample'); TFrameSample(F).var1 :='xxxx'; --> cod execute after create, or show; TFrameSample(F).var2 :='yyyyy'; end;
  3. hello , I can not move the group to grid in Run mode, when active or turn off , nothing happens . example : if cbGroup.checked then begin UniDBGrid1.Grouping.Enabled :=true; UniDBGrid1.Grouping.FieldName :='Country'; UniDBGrid1.Grouping.FieldCaption :='Title Country'; end else begin UniDBGrid1.Grouping.Enabled :=false; UniDBGrid1.Grouping.FieldName :=''; UniDBGrid1.Grouping.FieldCaption :=''; end;
  4. eu fiz umas implementacoes especificas no report builder que consiste basicamente criar parametros de entrada que sao gravados em uma tabela nessa tabela eu defino algumas informacoes... nome tipo (data, numero, checkbox,inteiro,texto, combobox, memo, pesquisa em tabela externa) texto do controle etc.. essa tabela de parametros e vinculo com os filtros dos relatorios. nesse caso eu posso ter parametros de entrada que nao sao necessariamente vinculados a filtros. ex: preciso de um campo na tela de filtro onde o usuario digite um texto, e esse texto sera usado no caption de um label nao sera usado em um filtro da consulta... com base nessa tabela eu criei uma rotina no unigui (ja tinha ela em vcl) que le a tabela e cria os controles dinamicamente e no botao ok, eu chamo o relatorio e passo para ele os parametros.. la no relatorio eu leio esses parametros e passo para os filtros das consultas gero o relatorio e devolvo o pdf a praticidade dessa rotina e que o mesmo relatorio quando esta pronto, ja serve para o sistema desktop e para o sistema web no projeto unigui ou no vcl nao tenho que alterar nada para incluir um novo relatorio. pois nos clicks dos botoes ao chamar o relatorio, eu tambem crio os menus(popmenu) dinamicamente com base em uma tabela que contem a relacao dos relatorios que ira ser usado no local xxx ex: no modulo de vendas ao clicar em um botao, lista os relatorios do modulo 'VENDAS' ao clicar no relatorio a tela de filtro e criada dinamicamente e o relatorio e executado. assim a distribuicao de novos relatorios e extremamente simples, pois nao tenho que mexer uma , no projeto unigui nem no projeto vcl assim posso migra meu projeto aos poucos, e os relatorios sao 100% aproveitados nos 2 ambientes.. outra coisa que tambem estou conseguindo compartilhar sao funcoes de manipulacao de dados, rotinas diversas que nao tem interacao com usuario funcoes que recebe alguns parametros processa alguma coisa e devolve um resultado.. tudo isso jogo em uma unit e compartilho entre os 2 projetos, que inclusive sao ate em versoes diferentes do delphi o projeto vcl ainda ta no delphi 2010... do unigui ja comecei usando o xe7
  5. da para passar um trecho do codigo pronto que voce usa, tipo no click de um botao fazer a referencia a um objeto la do outro frame.. bem como exemplo do uso da chamada do form.
  6. obrigado, o codigo de criacao do frame dentro do tabsheet eu ja possuo. o seu codigo nao consegui fazer foi a chamada do formulario, isso pq eu uso heranca. entao tenho um formx derivado de TUniFrame e um formY herdado de FormX o problema nao e criar o formulario, e fazer referencia a algum objeto dentro dele, ou ate mesmo passar parametros para o form, ex: setar uma variavel existente nele... e executar um procedimento... veja meu codigo para criar Procedure TFrmPrincipal.InsereTab(NomeForm,Titulo:String); Var Ts : TUniTabSheet; FrC : TUniFrameClass; Fr : TUniFrame; i : Integer; Begin For I := 0 to pgControlMain.PageCount-1 do Begin if pgControlMain.Pages.Caption=Titulo then Begin pgControlMain.ActivePageIndex :=i; Exit; End; End; Ts := TUniTabSheet.Create(Self); Ts.Closable := True; Ts.PageControl := pgControlMain; Ts.Caption := Titulo; FrC := TUniFrameClass(FindClass(NomeForm)); Fr := FrC.Create(Ts); Fr.Name := NomeForm; Fr.Align := alClient; Fr.Parent := Ts; pgControlMain.ActivePage := Ts; end; uso assim InsereTab('TfrmForm1', 'Titulo do Form1'); la no TFrmForm1 eu adiciono initialization RegisterClass(TfrmForm1); -- isso e necessario quando o form e do tipo TUNIFrame. agora como acessar um objeto que existe la no TFrmForm1? frmForm1.botao.caption :='xxxx'; ????
  7. I am creating my project and using the TUniFrame class and creating it within the tabs PageControl component like the example megademo in some very moment being in a frame, change, or have access to any existing control in another uniframe how? eg I am in frmVendas and I want to change the caption of a button exists in frmclientes. (of course before I will do a test to see if it was created or if this in any of the tabs .. PageControl. frameClientes.btnteste.caption: = 'new caption';
  8. araguaina - to a tempos procurava uma ferramenta para reescrever uma aplicacao desktop para web. estava na luta tentando fazer no c#, mas devido as limitacoes de conhecimento da linguagem isso nao ia sair nunca... ate que encontrei o unigui e a luz no fim do tunel apareceu. varias rotinas complexas, funcoes de processamento em lotes, eu estou compatilhando o mesmo codigo entre a aplicacao VCL algo impensavel no c#.. com isso a produtividade vai la pra cima.. pois tudo que ja fiz sera reaproveitado.. unigui simplemente show... meu skype para trocarem ideias wilton_radinfo
  9. nao acho que isso seja legal, pois cada modulo vc teria que fazer uma conexao com o banco de dados, o que pode aumentar muito o I/O no banco.. sem contar que caso vc estando em um form precisar acessar algo de outro form estando isso em DLL diferentes vai ser canceira.. cada dll ISAPI tera um servidor web embutido, serao aplicacoes distintas, isso vai aumentar tambem o tempo de carga dos formularios..
  10. estou criando meu projeto e usando a classe TUniFrame e criando isso dentro de tabs do componente pagecontrol igual ao exemplo megademo em alguns momento preciso estando em um frame, alterar ou ter acesso a algum controle existente em outro uniframe como fazer isso? ex: estou no frmVendas e quero mudar o caption de um botao existe no frmclientes. (claro antes vou fazer um testes para saber se ele foi criado ou seja se esta em alguma das abas.. do pagecontrol. frameClientes.btnteste.caption :='novo caption';
  11. ola vi que voce esta criando os formularios em guias a exemplo do demo do unigui usando a classe TUniFrame no lugar do TUniForm tentei fazer isso tambem, em frames normais funciona normalmente porem tentei usar um herdado de outro frame e gera uma violação de acess. no meu projeto tenho um formulario (frame) base onde trata-se de um form ja com botoes de crud, um pagecontrol com uma aba para controles dbware, e outra aba para o grid e um datasource a partir desse form eu crio todos os meus forms de crud, usando heranca... voce ta usando heranca ai nesse seu projeto? caso sim, da para passar o exemplo ai do codigo para cricar os frames dentro do pagecontrol
  12. I tried to use his example, but did not work when using a legacy tuniframe -> TfrmBase = class (TUniFrame) TfrmEscola = class (TfrmBase) - here and an inherited form of TFrmBase InsertFrameTab ('TfrmEscola', 'school'); the access violation error that line FCurrentFrameTab: = TUniFrameClass (FindClass (Name)) Create (Self);. initialization RegisterClasses ([ TfrmBase, TfrmEscola ]); RegisterAppFormClass (TFrmPrincipal); ------------------------------------------------------------------------------------- in forms of TUniFrame type usually works
  13. while running indicate here the solution you used and tell us your opinion
  14. I've done that way, I have a master database, I have a table with the connections. I wanted was just avoid this parameter in login so that the User needed not choose which database. each customer will have your particular site, and that site I put a link to open the application unigui already indicating that the database that will be used to connect
  15. see exemple: procedure TfrmClientesProspecao.btnpesqClienteClick(Sender: TObject); begin frmMyFind.ShowModal( procedure (Sender:TComponent;Resp:integer) begin if resp=1 then begin qOcorrenciaCodCliente.AsInteger :=strtointdef(SeparaResult(UniMainModule.global_UtimoRetornoPesquisa,1,'|'),0); qOcorrencianomefantasia.AsString :=separaResult(UniMainModule.global_UtimoRetornoPesquisa,2,'|'); end; end ); procedure TfrmMyFind.btnOKClick(Sender: TObject); begin UniMainModule.global_UtimoRetornoPesquisa :=qFind.fields[0].asstring+'|'+qFind.fields[1].asString; ModalResult :=mrOk; close; end; end;
  16. the best way and you publish the application on your server, where only you will have access, so you will be able to cancel access to the system at any time. if this is not possible, create a routine to authenticate your application on your server to check the license data. Of course in this situation, your customer will depend on having internet available to do this check if your system is running on a LAN without internet, there is very complicated to have a safe solution. finally, the use of plugs (USB) protection
  17. I need to start my application and send a parameter through the url to change my site's behavior. the following occurs: I have several databases on one server for each client. I would use one and the same application unigui access your respective bank. but I would not want to show the list of databases to the User. this information should come from the address (url), with that information, to download application I already do the bank's definition and its connection unigui version 0.99.10.1172 profissonal sample myserver.com.br:8077?database=NAME or myserver.com.br:8077?IDClient=1
  18. save itemindex value in coockie restore and set itemindex
  19. I'm having this same problem using TUniDBLookupComboBox the button to open the list, and not displayed after opening the query is inactive without the button. only works if you put the code in the open show of form. it worked in previous versions. I use the profisisonal version 0.99.10.1172
×
×
  • Create New...