Jump to content

rhazell

uniGUI Subscriber
  • Posts

    32
  • Joined

  • Last visited

Everything posted by rhazell

  1. That will give me a place to start. Much appreaciated!
  2. I assume that means I need not be concerned the number of times it appears to be called. That's great. Thanks you. It really only came onto my radar because I have several (relatively simple) forms with a UniDBGrid that are taking very long to load and I am trying to determine the root cause. It could be my understanding / approach but I'm having a hard time understanding (and measuring) where the delays are occurring (data access vs rendering etc)... Do yo have any suggestions?
  3. Can anyone suggest a good approach for debugging & tracing form creation, please? On a relatively simple form, I am experiencing large periods of time from the time I create the form until it is displayed & ready to use by the user - pauses in the magnitude of 10 seconds. My form has a table and a UniDBGrid so there's many things that can happen here, however, my table operations (opening, filtering) only appear to account for a 1-2 seconds of the delay. Right now, I've added a logging in many critical UniDBGrid, Table & Form events, however, even when I have a suspicious gap in time between 2 logged events, I really don't know what else has happened in between. Combine this with ajax communications between browser and server, and it's very difficult to pinpoint the cause. At this point, I'm just trying to understand where the root cause is... my use of tables/ queries... my misunderstanding of the rendering to browsers... event handlers taking too much time etc... Any ideas, tips, or tricks of things I can do to zero in on a cause? Thanks in advance.
  4. Can anyone explain why (or what would cause) UniDBGrid.RecordCount event to be called several times upon the creation and initial display of a form? In fact, it's called approximately 6 times before the form finishing loading. Even weirder, it appears to be called even before the table has even been opened, based on my logging snippet below: [2 µs][Trace][Value: TframeItem.UniFrameCreate][Type: string] [1040 µs][Trace][Value: TframeItem.UniFrameBeforeReady][Type: string] [25689 µs][Trace][Value: TframeItem.UniFrameReady | begin][Type: string] [29 µs][Trace][Value: TframeItem.tblItem_BeforeOpen][Type: string] [5420560 µs][Trace][Value: TframeItem.UniDBGrid1RecordCount][Type: string] [1876286 µs][Trace][Value: TframeItem.UniDBGrid1RecordCount][Type: string] [18 µs][Trace][Value: TframeItem.UniDBGrid1RecordCount][Type: string] [1196 µs][Trace][Value: TframeItem.tblItem_AfterOpen][Type: string] [2 µs][Trace][Value: TframeItem.tblItem_AfterScroll | begin][Type: string] Thanks in advance.
  5. Many thanks... I shall take a look.
  6. Hello and thanks for the reply. I like & understand the concept you've presented (especially the SQL part), however, it's the bootstrap implementation I'm unfamiliar with... do you have a demo for that? I'd be willing to pay for a small demo - if you're interested, please contact me at rhazell_at_microcalm_dot_com
  7. Would it be possible to share an example? Sounds intriguing!
  8. When a user moves to a new row in a grid (via keyboard or mouse) it correctly fires the OnAfterScroll event of the attached DataSet... How can I display a ScreenMask for the duration of the fired OnScroll event? FYI: If they move to a new row using dbnavigator (with it's screenmask enabled) that's attached to the same DataSet the ScreenMask is correctly displayed for the duration of the OnScroll event. TIA
  9. Navigating the datasource (i.e. moving to different records) via the grid, using either the keyboard (up & down keys) or clicking on a row with the mouse.
  10. I have a UniDBGrid attached to a datasource. I also have a UiDBNavigator attached to the same datasource. As expected, I can navigate the datasource either by pressing the Next / Previous button in the navigator or by using the grid itself (eg. up / down arrow key or clicking on desired row using the mouse - all good, so far. Note: Moving to a different record in the datasource can potentially take a couple seconds. This happens because the Dataset.OnScroll event of the datasource applies a filter to a couple of other datasets (i.e. achieving a master detail relationship) and these other datasets themselves are bound to some visual components, many of which are displaying images from the dataset. That's mostly for a background of what's causing the delay and I will refer to this lengthy period as "THE DELAY" After enabling the ScreenMask property for the navigator... when I press a navigator button (Next or Previous) it works as I hoped it would. That is, a) press next b) Mask is displayed c) THE DELAY occurs d) finally the mask is hidden immediately after THE DELAY is complete. However, if I navigate the datasource using the UniDBGrid itself (with LoadMask enabled)... a) no mask is ever displayed b) I can navigate the records immediately back-to-back without THE DELAY c) however, if I quickly move to 3 different records THE DELAY gets "queued" up and does in fact happen 3 times asynchronously. How can I make navigation using the grid work the same as via the navigator? That is, display a ScreenMask, thereby not allowing me to make another move, until THE DELAY is completed. PS I have tried setting UniDBGrid.LoadMask with & without WaitData. And the LoadMask appears to work correctly (it appears when I change pages via the grid). Your thoughts, please.
  11. Thanks, I have and I agree with your assessment. I kind of re-asked the question mostly to see if there's been any recent changes to uniGUI to address this functionality.
  12. Yes, that's sort of the point... however, If I am understanding correctly there's no ability to apply the paging managed by the uniDBGrid to the SQL of the server-side datasource. 1) The datasource is filled at on server-side (eg. using a SQL statement) 2) However, the paging implemented by uniDBGrid only control the subset of server-side records required for display on the client-side. Am I misunderstanding the process - I'd like to hear other opinions, please?
  13. Very good question... is what he suggests currently possible? That is, can dbgrid pagination somehow be achieved via SQL? In short, what is the most effective way to deal with potentially large datasets returned via SQL?
  14. Haa anyone a solution for this very issue? More about determining / calculating the new pagesize after resizing the grid at runtime.
  15. Does anyone have a way of handling this? In my case. Grid is aligned to identify, therefore, almost always larger at runtime and able to display more rows. To further compmicate the issue, what if the browser is resized (larger OR smaller)... how can I determine the new PagSize to reflect the new number of rows that can be displayed? TIA
  16. The supplied instructions work well for components that have ScreenMask property (great feature), however, how do I go about showing a "ScreenMask" for the following situations, please? 1) user double-clicks UniDBGrid and the resulting event handler performs a potentially lengthy task - I would like to show a ScreenMask 2) the OnCange event of a PageControl performs a potentially lengthy task - I would like to show a ScreenMask TIA
  17. Thank you for this valuable information!
  18. Typically (and particularity in this case) this code runs as a result of the user pressing a uniButton... any further recommendations, for this scenerio? I will definitely look into the LoadMask property also - thanks for the tip!
  19. procedure TMainForm.UniTreeMenu1Loaded(Sender: TObject); begin UniTreeMenu1.FullExpand; end; Runtime error: ExpandAll is not a function D11 & 1.90.0.1555
  20. My current requirement comes when I am manipulating rows in a table. For example... myTable.First; while not myTable.Eof do begin // do some stuff here myTable.Next; end; The above operation may take several seconds to complete and I need to at least inform the end user about this - better still provide a progress. PS I am new to uniGUI and still trying to wrap my head around async operations and even refactor some code to be more suitable for the web, however, there will always be some areas where I need the user to know there's a lengthy process that ocurring. TIA
  21. I am getting the same javascript error.. any luck using this alternative approach?
  22. Where is the best place to somehow view and / or log all communications between client and server? Is this even possible? I'm not looking to do this in a production environment. Rather, I am new to uniGUI and I'd like to do this while designing to aide in my understanding of what's happening asynchronously - not necessarily byte-for-byte but in more relative terms. For example, I want to see if / when a particular operation is making many more ajax calls when I wasn't aware of. Thanks in advance, Rick.
×
×
  • Create New...