事实上,我正在使用AsyncCalls图书馆,以这种方式执行文法。
while AsyncMultiSync([RunQuery], True, 10) = WAIT_TIMEOUT do
begin
FrmProgress.refresh; //Update the ellapsed time in a popup form
Application.ProcessMessages;
end;
并且一切都奏效。
现在,我想在电网中填满电梯时也这样做。
i)
while LocalAsyncVclCall(@InitGrid, 10) = WAIT_TIMEOUT do
begin
FrmProgress.refresh;
Application.ProcessMessages;
end;
但显然没有汇编,因为当地AsyncVclCall返回的类型是IAsyncCall
,而不是卡迪纳尔。
同时也试图这样做,但并不是因为电网程序已经执行,而不是仓促执行。
while not LocalAsyncVclCall(@InitGrid, 10).Finished do
begin
FrmProgress.refresh;
//Application.ProcessMessages;
end;
• 如何利用地方资产管制中心或另一个职能,以同步执行《维也纳条约法公约》。
想这样做。
while ExecuteMyVCLProcedure(@InitGrid) = WAIT_TIMEOUT do
begin
FrmProgress.refresh;
//Application.ProcessMessages;
end;
UPDATE The InitGrid procedure goes here, the TcxGrid does not provide any event to show the progress of the data load. because that i want to execute this procedure asynchronously.
procedure InitGrid;
begin
cxGrid1DBTableView1.BeginUpdate;
try
cxGrid1DBTableView1.DataController.DataSource:=DataSource1;//in this point assign the query previously executed to the grid.
cxGrid1DBTableView1.ClearItems;
cxGrid1DBTableView1.DataController.CreateAllItems;
for ColIndex:=0 to cxGrid1DBTableView1.ColumnCount-1 do
cxGrid1DBTableView1.Columns[ColIndex].Options.Editing:=False;
finally
cxGrid1DBTableView1.EndUpdate;
end;
end;
提前感谢。