Newbie, struggling to gain intuitive feel for A5. Thirty years experience with assembler, .NET, C, VB, and Delphi. Have browsed all threads, downloaded all seemingly-relevant sample code, reviewed all included sample code, purchased and reviewed two A5 e-books, reviewed integrated A5 help. Have spent 20+ straight hours trying a variety of approaches (and also exercising/improving that subset of my vocabulary which includes profanity) all to no avail. Time now to reach out.
A so very simple goal of core GUI functionality for a document management system. A tree (form) control contains "cabinet drawer" names. Clicking on a cabinet drawer name (the OnChange event, with tree.value) yields name of selected drawer. Simple XBasic query against drawer table returns the NUMERICAL identifier for the drawer (which links to multiple rows in folder table). Wish then to populate an embedded browse with all "file folders" contained within (ie: linked to) that drawer.
The GUI, as one might imagine, and at its simplest, might be a tree with an embedded adjacent.
Two individual tables involved here, one for drawer info, other for folder info. Linking is done via folder.drawernumber = drawer.id (go figure); I created set with linkage. Created form based on that set. Initially created set with drawer as primary, but found I could not create the embedded browse as desired - browse would not show ALL records contained in folder table. Then took reverse approach, yielding better results, creating set with folder table as primary (essentially an M:1 relationship; counter-intuitive). Could then display all data in both tables upon form launch. Of course, end-result would require limiting display in folder browse to only those contained in the selected tree/drawer selection, but all data seemed present and therefore accessible and hopefully subject to manipulation.
Early on, it seemed not unreasonable to assume that A5 would have built-in functionality to create the 1:M linkage. Seemed there almost should have been some no-brainer way to cause the drawer OnChange event to trigger a dynamic filter and refresh to the embedded folder browse. No amount of effort yielded any result looking even close to success.
Then moved on to augment the XBasic. Some results were achieved, but none as desired or expected. The browse would sometimes (but only sometimes) refresh/resynch with data, and the data may or may not reconcile with the filter implemented.
The sample code downloaded from message board sample code archive shows similar functionality - but with XDialog. Is this really the only way to achieve the goal? Based on what I've seen so far of XD, it's not easily integrated into the existing form so as to appear seamless - thus a rather rough and amateurish-looking result. All sample code I saw that implemented my tree/browse combination seemed to rely on XD and were quite challenged in the area of aesthetics in presenting that browse-type view.
Hopefully I'm missing something obvious... but I'd argue that if the solution is indeed there, it ain't obvious. It just seems there should be some way to take a query result (pointer in A5, I guess) and "assign" that to my embedded browse. At least a rough and simplified analogy to what would have been my approach in my other programming languages. But I don't see a way to tell the embedded browse "here, I've done my manual query and the resulting recordset/pointer has been successfully created, so here it is, now take care of displaying the results for me."
About ready to fire up Delphi and just have at it to get the core done and move into more sophisticated features.
Can A5 do what I want - and in the way I want it done (ie: probably no XD)? And if so, please point me in a direction that does not consist primarily of swamp land - I've already mapped those areas quite thoroughly.
A so very simple goal of core GUI functionality for a document management system. A tree (form) control contains "cabinet drawer" names. Clicking on a cabinet drawer name (the OnChange event, with tree.value) yields name of selected drawer. Simple XBasic query against drawer table returns the NUMERICAL identifier for the drawer (which links to multiple rows in folder table). Wish then to populate an embedded browse with all "file folders" contained within (ie: linked to) that drawer.
The GUI, as one might imagine, and at its simplest, might be a tree with an embedded adjacent.
Two individual tables involved here, one for drawer info, other for folder info. Linking is done via folder.drawernumber = drawer.id (go figure); I created set with linkage. Created form based on that set. Initially created set with drawer as primary, but found I could not create the embedded browse as desired - browse would not show ALL records contained in folder table. Then took reverse approach, yielding better results, creating set with folder table as primary (essentially an M:1 relationship; counter-intuitive). Could then display all data in both tables upon form launch. Of course, end-result would require limiting display in folder browse to only those contained in the selected tree/drawer selection, but all data seemed present and therefore accessible and hopefully subject to manipulation.
Early on, it seemed not unreasonable to assume that A5 would have built-in functionality to create the 1:M linkage. Seemed there almost should have been some no-brainer way to cause the drawer OnChange event to trigger a dynamic filter and refresh to the embedded folder browse. No amount of effort yielded any result looking even close to success.
Then moved on to augment the XBasic. Some results were achieved, but none as desired or expected. The browse would sometimes (but only sometimes) refresh/resynch with data, and the data may or may not reconcile with the filter implemented.
The sample code downloaded from message board sample code archive shows similar functionality - but with XDialog. Is this really the only way to achieve the goal? Based on what I've seen so far of XD, it's not easily integrated into the existing form so as to appear seamless - thus a rather rough and amateurish-looking result. All sample code I saw that implemented my tree/browse combination seemed to rely on XD and were quite challenged in the area of aesthetics in presenting that browse-type view.
Hopefully I'm missing something obvious... but I'd argue that if the solution is indeed there, it ain't obvious. It just seems there should be some way to take a query result (pointer in A5, I guess) and "assign" that to my embedded browse. At least a rough and simplified analogy to what would have been my approach in my other programming languages. But I don't see a way to tell the embedded browse "here, I've done my manual query and the resulting recordset/pointer has been successfully created, so here it is, now take care of displaying the results for me."
About ready to fire up Delphi and just have at it to get the core done and move into more sophisticated features.
Can A5 do what I want - and in the way I want it done (ie: probably no XD)? And if so, please point me in a direction that does not consist primarily of swamp land - I've already mapped those areas quite thoroughly.
Comment