You are not logged in.
Hi,
I like the idea of SQLite3UI units, but what I dislike about them is their dependency on TMS components. It's a pity that there's no possibility to use them without those commercial externals...
Is there any plan for some alternatives?
Thanks,
m.
Offline
It's on my road list.
I'd like to use the Ribbon component, as available since Delphi 2009. But I heard it was buggy... perhaps it's fixed in XE.
Another possibility will be to create a regular tab set with toolbars, to emulate the ribbon layout. 100% efficient and work for all version of Delphi, but perhaps less attractive.
What's your opinon/feedback about those two proposals?
Stay tuned!
Offline
My main development environment for all the "private" (hobby) projects is Delphi 7 (Personal edition!) ..
That makes Synopse SQLite3 most complete and powerful DB framework available Of course I'm fully aware that I'm in minority, and I'll have to switch to more recent Delphi version one day.
Besides that, personally I don't like ribbon idea at all. I hate using Office 2007 just because it has ribbon instead of menus & toolbars. I don't get the idea of Ribbon, and don't know any advantages over menus & toolbars, except for bigger icons in Ribbon
Have you considered optional dependency on SpTBXLib which is a mature, customizable, attractive-looking MPL-licensed set of menu & toolbars components (based on Toolbar2000)?
Offline
The "ribbon" aspect of the UI generated by the framework is much more familiar than the Office 2007 program.
See the MainDemo, and the screenshots available from http://blog.synopse.info/post/2010/08/0 … Demo-draft
My intend is to implement it with either TMS components, either with regular TTabSet+TToolBar components. You will able to switch from one to the other with compilation conditionals.
I didn't know about SpTBXLib.
I used TB2K in another applications, but I don't see in what it could be better than the regular TToolBar component for the UserInterface the framework need to generate.
Offline
Hi,
I thought you're main point against native TToolBar & TTabSet is a poor look of those old components. SpTBXLib provides skinning support for TB2K (but not only, of course).
Anyway, I'd love to see the code which compiles under old Delphi with no dependencies on commercial component sets
Offline
TTabSet was not so poor. There is some kind of skinning, according to the Windows color scheme, if you use native buttons.
Of course, I do understand your concern about dependency on commercial sets...
I'll do my best to make this dependency optional.
Offline
The Demo application idea is great!
What about using our Grid component?
It's not bundled to the TMS software, and it's definitively powerful.
See http://synopse.info/forum/viewtopic.php?pid=644#p644
Worth showing it in the demo, IMHO.
Offline
The Demo application idea is great!
What about using our Grid component?
It's not bundled to the TMS software, and it's definitively powerful.See http://synopse.info/forum/viewtopic.php?pid=644#p644
Worth showing it in the demo, IMHO.
Hi,
indeed, so far I haven't played with UI classes at all, I just thought all of them depend on TMS.
As I can see, the TSQLTableToGrid can't use TSQLRestServerDB directly, I had to export it via named pipe and than create a client - just for TSQLTableGrid to access it. Is that really necessary?
Anyway, it's definitely worth showing but I won't commit it unless you tell me why does it require the URIClient to be created & used
Offline
For a stand-alone application, you should use TSQLRestClientDB and not TSQLRestServerDB directly. TSQLRestClientDB will create an hidden TSQLRestServerDB instance, and will use it directly (with no client/server approach).
So you'll be able to upgrade to a Client/Server application just by changing the class type from TSQLRestClientDB into another TSQLRestClientURI, according to the transmission you want to use (named pipes, GDI messages, HTTP/1.1).
But since TSQLRestClientDB inherits from TSQLRestClientURI, your code will be able to use all UI and other related parts of the framework.
This was not obvious from the Sample supplied, but documented as such in the code.
Offline
Hi,
indeed that was a bit unclear - since the demo 02 used the server directly. Unfortunately I'm the kind of guy who looks at the examples first, than refers to the documentations when needs to clarify something
I've changed the code to follow the correct pattern.
Also, the demo shows TSQLTableToGrid as well now
BTW please have a look at line 402 of current revision (r4). In my case, using the Iso8601Now instead of Now, causes "Invalid floating point operation", pointing the method
procedure DateToIso8601PChar(Date: TDateTime; P: PUTF8Char; Expanded: boolean); overload;
// we use YYYYMMDD date format
var Y,M,D: word;
begin
DecodeDate(Date,Y,M,D);
DateToIso8601PChar(P,Expanded,Y,M,D); // <-- debugger points that line.
end;
Offline
BTW please have a look at line 402 of current revision (r4). In my case, using the Iso8601Now instead of Now, causes "Invalid floating point operation", pointing the method
DateToIso8601PChar() expect a TDateTime parameter, not a Iso8601 parameter.
Those are two diverse types, with diverse values.
TDateTime is the Delphi standard Time/Date, which is a double.
Iso8601=TTimeLog is an Int64, containing the Time/Date as bit shifts.
The problem is that you can pass a Int64 as a TDateTime=double, in the Delphi compiler, therefore you use the wrong function with no compiler error...
The framework uses Iso8601 or TTimeLog instead of TDateTime because it's much faster, and SQLite3 likes better Int64 values than double values.
So use Now if your property is a TDateTime.
And uses Iso8601Now if your property is a TTimeLog
Offline
The framework uses Iso8601 instead of TDateTime because it's much faster, and SQLite3 likes better Int64 values than double values.
thanks, my bad
Offline
Hi,
indeed that was a bit unclear - since the demo 02 used the server directly. Unfortunately I'm the kind of guy who looks at the examples first, than refers to the documentations when needs to clarify somethingI've changed the code to follow the correct pattern.
Also, the demo shows TSQLTableToGrid as well now
I am interested in looking at that demo. Where is it available?
Thanks!
Offline
Currently it is available in SVN only, at the
http://code.google.com/p/synopse-sqlite-demo/
but I'll upload the zip archive in 15 minutes
Offline