使用 Progress 4gl 调用 dll

问题描述 投票:0回答:1

我需要使用 dll 从 Web 服务获取数据。我们的 VB.net 小组向我提供了有关如何进行调用的示例代码。 我需要指导如何在 Progress 中做同样的事情。

这是 VB 示例:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim client as new TaxWiseProxy(serviceURI:"https://webservice.net/Basic.svc", username:"myusername", password:"aPassword")
    Dim getTitleResponse as String = String.Empty
    
    Try
    
        getTitleResponse = client.GetTitle("12-34567")
    
    Catch ex as Exception
    
        'Exception Handling
        
    End Try
    
End Sub

我已经用不同的方法审查了许多帖子,但没有足够的细节让我真正遵循。 我们还使用了程序集参考工具并将参考保存在我们的工作目录中。

dll openedge progress-4gl
1个回答
0
投票

假设它是.NET 程序集。您需要将其添加到您的 assembly.xml 文件中,请参阅此处:

https://docs.progress.com/de-DE/bundle/openedge-abl-manage-applications-122/page/NET-assemblies.html

https://docs.progress.com/de-DE/bundle/openedge-gui-for-dotnet-in-abl/page/Identify-.NET-assemblies-to-ABL.html

这是一个示例 assembly.xml 文件,位于会话工作目录中,或者位于可选的 -assemblies 启动参数引用的文件夹中:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<references>
    <assembly name="Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    <assembly name="CefSharp, Version=127.3.50.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138"/>
    <assembly name="CefSharp.Core, Version=127.3.50.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138"/>
    <assembly name="CefSharp.WinForms, Version=127.3.50.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138"/>
    <assembly name="clrzmq, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</references>

然后你的代码将像这样翻译:

USING <similar to import statement in VB.NET> .

DEFINE VARIABLE client           AS TaxWiseProxy NO-UNDO.
DEFINE VARIABLE getTitleResponse AS CHARACTER    NO-UNDO.

/* Note, ABL only supports positional parameters, not named parameters */
client = NEW TaxWiseProxy("https://webservice.net/Basic.svc", 
                          "myusername", "aPassword").

getTitleResponse = client:GetTitle("12-34567").
© www.soinside.com 2019 - 2024. All rights reserved.