调用begininvoke如何的到返回值,如何传入ref参数?

flysnoopy1984 2005-09-13 11:13:46
我用BeginInvoke调用DataSet ExeSql(string sqlcmd)函数,请问如何得到它的返回值?若函数为void ExeSql(ref DataSet ds,string sqlcmd),在应用BeginInvoke时,第二个参数object[] args又该如何写?
...全文
706 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdenli 2005-11-16
  • 打赏
  • 举报
回复
mark
anmeier 2005-10-26
  • 打赏
  • 举报
回复
/// <summary>
/// 获得数据
/// </summary>
private void BeginLoadDate(string sBeginDate,string sEndDate,string sFromData)
{
timerRun.Enabled = false;
LState.Text = "数据获取中,请稍候......";
BtnStop.Enabled = false;
BtnStop.Text = "停 止";
FlagStop = false;
PBarImport.Value = PBarImport.Minimum;
PBarImport.Visible = false;
LTime.Text = "";
LImport.Text = "";

DelegateLoadDateSet loadDateSet = new DelegateLoadDateSet(LoadDataSet);
AsyncCallback callback = new AsyncCallback( CallbackLoadDataSet );

loadDateSet.BeginInvoke(sBeginDate,sEndDate,sFromData,callback, loadDateSet);
}

/// <summary>
/// 导入数据后的回调方法
/// </summary>
private void CallbackLoadDataSet( IAsyncResult ar )
{
// Retrieve the invoking delegate.
DelegateLoadDateSet dlgt = (DelegateLoadDateSet)ar.AsyncState;
// Call EndInvoke to retrieve the results.
DataSet DS = dlgt.EndInvoke(ar);

DelegateEndLoadSetUI mi = new DelegateEndLoadSetUI(EndLoadSetUI);
this.BeginInvoke(mi,new Object[] {DS});

}
flysnoopy1984 2005-09-13
  • 打赏
  • 举报
回复
谢谢 3楼,但是当我在主函数中执行这个了这个BeginInvoke时,主线程好像还是组塞状态麻,我想让程序可以在作BeginInvoke的同时,还能异步的做其他的东西,不如进度条的滚动,请问怎么阿?
alec_ma 2005-09-13
  • 打赏
  • 举报
回复
不明白
flysnoopy1984 2005-09-13
  • 打赏
  • 举报
回复
求助阿~~~~!有人吗?我等!!!

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧