Forum Replies Created
-
AuthorPosts
-
amckinlay
KeymasterI do not have a good example for that. We usually use an AccessControl to view one invoice at a time, and then put a browse on it for the line items. (Like in the Master-Detail example in the help.)
I don’t think linkField will work with two browses.
You should be able to handle List_Selection events from the invoice browse and then SetQuery on the invoice lines browse.
I’m glad to hear you are enjoying Suneido
amckinlay
KeymasterI think I have a fix for the if statement issue.
I will post a new version after I do something with switch
amckinlay
KeymasterI posted a question in the Internals section about the best way to specify compiler options.
I notice that msaurer modified the Suneido C++ code to disable the switch change.
amckinlay
KeymasterOur style is to always put the statement part of an “if” on a separate line, so we did not notice this one – sorry. I’ll try to find what changed this and see what I can do.
And I’ll look at adding some kind of option for the switch change.
amckinlay
KeymasterThe switch change was deliberate. It is to help with forgetting to handle some cases. It does require going through your code and determining if you want to ignore unhandled values. I think this is good because it is better to be explicit. In many situations it should be an error. But if this is a problem for people then we could add a command line option to disable this new behavior.
I’m not sure what changed with the parenthesis. A lot has changed since 2007. I will look into this. It may be related to allowing things like 10.Times { … } without the parenthesis. (probably not very important)
If you really want to stick to the 2007 version I don’t think it would be hard to apply the query fix to the old source code. But there have been many other bug fixes as well.
I agree that changes that break old code are sad. But sometimes they are necessary to move forward.
amckinlay
Keymasterdone!
amckinlay
KeymasterYes, I received it this time, thanks.
amckinlay
KeymasterI found the problem and fixed it.
The parsing code was incorrect and implemented right associativity instead of left. I am surprised we did not find this before now. I guess we do not usually use complicated expressions in queries.
The code for parsing expressions in the language was correct, but I did not keep the two version consistent 🙁
jSuneido does not have this problem because it shares the expression parsing code with both the language and queries.
I will post a new snapshot but if you need the fix right away, let me know.
http://suneido.svn.sourceforge.net/viewvc/suneido/trunk/qparser.cpp?r1=1111&r2=1110&pathrev=1111
amckinlay
KeymasterPreviously I started to implement “lower” indexes that would convert values to lower case before inserting into the index, but this did not work out.
I think it would be better to allow creating an index (or key) on a un-stored rule field (capitalized when created).
One of the problems with this is if you change the definition of the rule you would need to manually rebuild the index.
I think this would do what you want. It would avoid storing the data twice (but would still use space for the index).
You can specify the columns to IdControl so the user does not see the “extra” ones.
amckinlay
KeymasterMartin:
My apologies for not responding to your email to contributions@suneido.com
I never received the email 🙁 The forwarding appears to be broken – I just sent a test message to that address and it did not come to me either.
Can you please resend your email to mckinlay
suneido.com (I just tested and that address does appear to be working) I am interested in what settings you are using to compile with VS2005 to make it work better with Wine
That’s great that you were able to get Suneido working on Wine – thanks for your efforts on this.
amckinlay
KeymasterGood one! I can recreate it.
It appears to be treating it as: field1 – (1 + 1)
It works if you do: testTable extend field2 = (field1 – 1) + 1
jSuneido does not appear to have this bug – maybe because it shares the expression parser between the language and the database.
I will get this fixed. Thanks for reporting it!
amckinlay
KeymasterIf the suneidolog table is missing you can create it by running (from the WorkSpace)
SuneidoLog.Ensure()
amckinlay
KeymasterI don’t think there’s a control that will wrap other controls. Sounds reasonable though and not too hard.
You could use a Scroll control. That might be better with Vert.
amckinlay
KeymasterYou could give Thread a try. It works most of the time. I just haven’t figured out what specific situations it doesn’t handle.
If you use BrowserControl and HttpServer you can use async calls from JavaScript. Although that’s basically just using Thread (fibers) inside HttpServer.
Can’t think of better answers.
Sorry for the delay in replying – I’m travelling.
amckinlay
KeymasterThe current SuneidoAPP is specific to getting the HTML from database tables (‘books”) but you could make your own version of SuneidoAPP that got the HTML code from somewhere else, e.g. from calling a function.
It could work like HttpServer and use some kind of “map” (or “routing”) that specified what functions (or classes) to call for different url’s. Or you could simply take the first part of the url as a the name of a function/class to call.
NOTE: letting url’s specify any function to call is dangerous – you would only want to do that in a “trusted” environment.
-
AuthorPosts