gpt4 book ai didi

c# - 如何从PowerBuilder中的外部函数异步获取返回值的值?

转载 作者:行者123 更新时间:2023-11-30 13:06:14 26 4
gpt4 key购买 nike

如何从 PowerBuilder 中的外部函数获取异步返回值的值?我在VB2013 .NET 4.5中做了一个简单的例子,编译成一个DLL。在 DLL 内部是一个异步方法,如下所示:

测试.DLL

    public async Task<string> GetTestAsync()
{
Task<string> task = GetTest();

string test = await task;

return test;
}

public async Task<string> GetTest()
{
string test;
test = "TEST";

return test;
}

我在 PowerBuilder 中这样调用了 DLL:

String test
test = String(myoleobject.GetPortsTestAsync())

if isnull(test) then
messagebox('', 'null value')
end if

结果总是返回空值。

我也试过这个,但它仍然返回一个空值。

    public Task<string> GetTestAsync()
{
return Task.Factory.StartNew(() =>
{
return "hello";
});
}

最佳答案

您需要执行从 DLL 到 PowerBuilder 的回调。

我假设因为您调用了“myoleobject”的方法,所以您正在使用 oleobject。

如果是这种情况,可以尝试以下方法。


在 VB 中

  • 创建一个 OLE 事件
  • 设置值
  • 触发事件

在 PowerBuilder 中

  • 继承一个 OLEOBJECT
  • 创建与 VB OLE 事件对应的事件
  • 获取值(value)。

关于c# - 如何从PowerBuilder中的外部函数异步获取返回值的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34237037/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com