View Issue Details

IDProjectCategoryView StatusLast Update
0004603JEDI VCL00 JVCL Componentspublic2009-01-13 23:09
ReporterricardonaAssigned Tojfudickar 
PrioritynormalSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
Product VersionDaily / GIT 
Target VersionFixed in Version 
Summary0004603: New property TjvThread.AfterCreateDialogForm
DescriptionI'm use the threaded TJvOdacSmartQuery with success, i now want synchronize several controls but i need the property TjvThread.AfterCreateDialogForm, is posible add this property to TJvOdacSmartQuery component.
Additional InformationThe ShowDelay property delay the dialog form show, during this time all controls are enable and user can use them, the idea is block the main thread and wait (maybe a event) the dialog creation for unblock the main thread.
TagsNo tags attached.

Activities

jfudickar

2008-12-03 16:22

developer   ~0015077

Hi,

please describe why you can't use the AfterDatasetThreadExecution and BeforeDatasetThreadExecution Events of the dataset.

They should exactly do what you want (i use them for this purpose)

Greetings
Jens

ricardona

2008-12-04 20:25

reporter   ~0015084

Hi Jens,

After several tests the new property is not a option.

So my problem is, i want block main form (disable controls to user) and change screen cursor only during ShowDelay time because before show dialog (ShowDelay) all controls are enable and user can use them, that behavior is "dangerous" for the process.

Sorry, English is not my language,

Thanks for your time and patience

Ricardo

ricardona

2009-01-10 13:22

reporter   ~0015237

Hi,

Creating the threads on every call costs a lot of time; start and resume thread will be more cheap for component, when i enable showdialog and thread execution i get 400-500 milli seconds of extra time for every query; i further investigate the issue, where should i start for change the component?

Thanks in advance and happy new year.

Ricardo

jfudickar

2009-01-10 14:18

developer   ~0015238

Hi Ricardo,

i see what you mean.

But i think this will mean a complete rewrite of the thread handler.

Have a look at JvBaseDBThreadedDataset.pas. Here you find the most of the Database Threads.

You can ask me what ever you want to now, the most of this code is based on my fingers :-)

Greetings
Jens

ricardona

2009-01-12 08:14

reporter   ~0015241

Hi Jens,

Your control is really nice.

I researched the Handler and TJvThread.Execute always create thread, you say is necessary to rewrite it.

What do you think for rewrite use AsyncCalls 2.91 (http://andy.jgknet.de/blog/?page_id=100 from Andy), thread pool and waiting-queue
concepts are very interesting for reuse thread and no recreate on every execute; or is a completely new component (with permission of Andy).

Greetings

Ricardo

jfudickar

2009-01-12 17:26

developer   ~0015242

The point is not to rewrite TJvThread. You had to rewrite the Handler.

I don't think it's a good idea to use AsyncCalls. Not because anything against andreas and his code :-).
The point is the mixture of two libraries at an elementary level.

But we could ask him.

Maybe you could start a public discussion in the newsgroups.

ricardona

2009-01-13 19:19

reporter   ~0015243

Jens,

Please close this issue.

I will start a public discussion in the newsgroups later.

Thanks for help

Ricardo

jfudickar

2009-01-13 23:09

developer   ~0015244

Further discussion necessary

Issue History

Date Modified Username Field Change
2008-11-25 19:23 ricardona New Issue
2008-12-03 16:22 jfudickar Note Added: 0015077
2008-12-03 16:22 jfudickar Status new => feedback
2008-12-04 20:25 ricardona Note Added: 0015084
2009-01-10 13:22 ricardona Note Added: 0015237
2009-01-10 14:18 jfudickar Note Added: 0015238
2009-01-12 08:14 ricardona Note Added: 0015241
2009-01-12 17:26 jfudickar Note Added: 0015242
2009-01-13 19:19 ricardona Note Added: 0015243
2009-01-13 23:09 jfudickar Note Added: 0015244
2009-01-13 23:09 jfudickar Status feedback => resolved
2009-01-13 23:09 jfudickar Resolution open => fixed
2009-01-13 23:09 jfudickar Assigned To => jfudickar