【发布时间】:2015-12-09 07:41:57
【问题描述】:
好的,我有一个 PowerBuilder 应用程序。我可以制作一个 DLL 文件 c# 打开一个新线程以在后台运行一个进程吗?并在我的 PowerBUilder 应用程序中调用此 dll?这种事情可能吗?
这是我的示例代码:
Class2.cs
string vartest;
public void testonly()
{
vartest = "TESTING ONLY";
}
public string threadtest()
{
Thread workerThread = new Thread(new ThreadStart(testonly));
workerThread.Start();
Thread.Sleep(10000);
workerThread.Abort();
return vartest;
}
这是我从位于窗口打开事件中的 PowerBuilder 应用程序调用此 DLL 的地方:
OLEObject myoleobject
myoleobject = CREATE OLEObject
myoleobject.connecttonewobject("Sample.Class2")
string test
test = myoleobject.threadtest()
messagebox('', test)
但是,我在我的 PowerBuilder 应用程序中收到一个错误,在我初始化“测试”变量的那一行显示“调用外部函数时出错...”。
【问题讨论】:
-
你试过先问谷歌先生吗?
-
@L-Three 是的,遗憾的是,PowerBuilder 的支持社区很少。
-
不确定你做了什么,但有很多谷歌搜索结果,例如:blogs.artinsoft.net/Mrojas/archive/2009/03/03/…。
-
我已经知道如何从 PowerBuilder 调用 DLL。忘记说了,不好意思。我的问题是是否可以在调用该 DLL 时在该 DLL 中启动一个新线程?
-
为什么不呢?创建一个小型 POC 进行测试。
标签: c# multithreading dll powerbuilder