Jump to content

Darth Florus

uniGUI Subscriber
  • Posts

    231
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by Darth Florus

  1. Cristiano: That You want is not possible to made in the Way that you show there. Thinks that allways a Web Application is a Client/Server app. The page request a response from the server and the server responds the request. I you want to show a wait when a form is created and quit the show when the form is done, you cannot do this in a single event handler, because: 1) The page request the creation of a form sending a Ajax request to the server. 2) The server executes the event handler. Until the server is not execute totally the event, client only wait to server response. 3) The server send javascript commands to the page as response of the page request. 4) The client executes the javascript and as consequence the form is showed on the page. The best way to do this is using a custom ajax event manager or modifing the actual to show a "wait cursor" until the server responds request. Y made a simulation of this using TUniScreenMask setting a screen mask targeting at no one (assume all page) to all buttons and keypress events handlers via a generic routine. There is the code (sorry spanish): { Configura las máscaras de espera y las grillas de los formularios o frames } procedure ConfiguraForm(p_formFrame: TWinControl; p_formParent: TfrmBase); var i: Integer; procedure CrearMascara(p_componente : TComponent); var l_mask : TUniScreenMask; begin { Crear la máscara } l_mask := TUniScreenMask.Create(p_formParent); p_formParent.InsertComponent(l_mask); with l_mask do begin AttachedControl := p_componente; DisplayMessage := 'Procesando...'; end; // with end; procedure ProcesaComponente(p_component: TComponent); var i: Integer; l_panel: TUniPanel; l_page: TUniPageControl; l_tab: TUniTabSheet; l_edit: TUniEdit; l_frame: TFrame; l_grid: TUniDBGrid; l_cds : TClientDataSet; begin { Recorrer todos los controles contenidos } if p_component is TUniPanel then begin l_panel := TUniPanel(p_component); for i := 0 to l_panel.ControlCount - 1 do ProcesaComponente(l_panel.Controls[i]); end else if p_component is TUniPageControl then begin l_page := TUniPageControl(p_component); //CrearMascara(l_page); for i := 0 to l_page.PageCount - 1 do ProcesaComponente(l_page.Pages[i]); end else if p_component is TUniTabSheet then begin l_tab := TUniTabSheet(p_component); for i := 0 to l_tab.ControlCount - 1 do ProcesaComponente(l_tab.Controls[i]); end else if p_component is TFrame then begin l_frame := TFrame(p_component); for i := 0 to l_frame.ControlCount - 1 do ProcesaComponente(l_frame.Controls[i]); end else if p_component is TUniButton then CrearMascara(p_component) else if p_component is TUniBitBtn then CrearMascara(p_component) else if p_component is TUniEdit then begin l_edit := TUniEdit(p_component); if l_edit.CharEOL = #13 then CrearMascara(p_component); end else if p_component is TUniDBGrid then begin l_grid := TUniDBGrid(p_component); l_grid.WebOptions.Paged := false; l_grid.WebOptions.LoadMask := True; l_grid.WebOptions.LoadMaskMsg := 'Procesando...'; end else if p_component is TClientDataSet then begin l_cds := TClientDataSet(p_component); l_cds.OnReconcileError := p_formParent.cdsReconcileError; end; // if end; begin for i := 0 to p_formFrame.ComponentCount - 1 do ProcesaComponente(p_formFrame.Components[i]); end; Then when a button is pressed a wait shows until the button code is executed. I hope be ussefull.
  2. I don't use Started Edition but ZeosLib yes. You need to download the lastest version of svn source. I'm using ZeosLib on XE with Firebird 2.5 with only two problems. 1) The TZSequence encloses with double quotes the names of the generators but is a simple change on the source files to make it work. 2) Sometimes when TZConnection.Disconnect is called, hangs. Workarround, simply don't make the call. I'm still have no time to trace this problem. Best Regards
  3. I think the problem of Ajax Errors is because my band width is small and the page are not loaded completly. There is a way to force that buttons dont execute until other objects are full loaded? Normally our customers are not patient to wait til page load completly. I think that disable ajax errors on the ServerModule can help. I'm right?
  4. 1) Yes I want to enable/disable hide/show controls based on a value selected on a DBLookupComboBox when is selected. 2) Yes the UniDBLookupComboBox have the "KEYVALUE" property. Normally when I need a ComboBox with data aware list I don't use ComboBox because you need to fullfill the items property by hand. I this case I use the DBLookupComboBox but dont assign the properties DataSource and FieldName but the list properties yes. On Win32 works very fine.
  5. Mr. Farshad: Good! But: 1) Treeview does not work on IE9 2) There are some Javascripts errors when use Chart on Firefox. Have a Nice Day
  6. Mr. Farshad: There is a way to deactivate the embedded web service when I only want to use the VCL side? Is for save memory when is not needed... Oscar Flor
  7. I you can access the request header search some string such "mobile", "iphone", "blackberry", "nokia" in there. You understand me!
  8. Darth Florus

    Delphi XE

    Thank you very much! I will apreciate this.
  9. Yes Mr. Farshad, you right The "Combos" have OnSelect event. But TUniDBLookupComboBox doesn't. I experiencing problems when want to check the .value property of the TUniDBLookupComboBox, allways raise me null, even if I select a value on the combo. Best Regards Oscar Flor
×
×
  • Create New...