【问题标题】:How to delete an object from a library with ORCA?如何使用 ORCA 从库中删除对象?
【发布时间】:2019-06-20 07:28:18
【问题描述】:

我需要使用我在 PowerBuilder 中开发的实用程序从我发现的某些特定库中删除一些对象,但是我无法通过脚本删除对象。

有一个ORCA,我以前从未使用过,也不知道如何使用它。

我正在阅读 ORCA 指南,但没有“LibraryEntryDelet”的完整示例

我的实用程序返回我想要传递给 LibraryEntryDelet 方法以删除对象的对象位置。

有人可以帮我提供 LibraryEntryDelet 的示例代码吗?

PB12.x

【问题讨论】:

    标签: powerbuilder orca


    【解决方案1】:

    我知道,这是一个老问题,但也许有人看看这个。

    在C#中有一些启发;

    public class Orca
    {
    // Orca Session
     [DllImport("pborc170.dll", EntryPoint = "PBORCA_SessionOpen", CharSet = CharSet.Unicode, SetLastError = true)]
            private static unsafe extern int PBORCA_SessionOpen170();
    
    //Session close
       [DllImport("pborc170.dll", EntryPoint = "PBORCA_SessionClose", CharSet = CharSet.Unicode, SetLastError = true)]
            private static unsafe extern void PBORCA_SessionClose170(int hORCASession);
    
    // Entry Delete
      [DllImport("pborc170.dll", EntryPoint = "PBORCA_LibraryEntryDelete", CharSet = CharSet.Unicode, SetLastError = true)]
            private static unsafe extern int PBORCA_LibraryEntryDelete170(int hORCASession, [MarshalAs(UnmanagedType.LPTStr)] string lpszLibName, [MarshalAs(UnmanagedType.LPTStr)] string lpszEntryName, PBORCA_TYPE otEntryType);
    
    //set the entry type enums
     private enum PBORCA_ENTRY_TYPE
            {
                PBORCA_APPLICATION,
                PBORCA_DATAWINDOW,
                PBORCA_FUNCTION,
                PBORCA_MENU,
                PBORCA_QUERY,
                PBORCA_STRUCTURE,
                PBORCA_USEROBJECT,
                PBORCA_WINDOW,
                PBORCA_PIPELINE,
                PBORCA_PROJECT,
                PBORCA_PROXYOBJECT,
                PBORCA_BINARY
            }
    
    public static void LibraryEntryDelete(string pbl= "blabla.pbl", string entry = "blablaDatawindow", PBORCA_ENTRY_TYPE entryType= PBORCA_ENTRY_TYPE.PBORCA_DATAWINDOW)
    {
    
    //Open Session
        int orcaSession = PBORCA_SessionOpen170();
    
    //delete entry
           PBORCA_LibraryEntryDelete170(orcaSession, pbl, entry, entryType);
    
    //close session
        PBORCA_SessionClose170(orcaSession );
    }
    
    }
    

    .NET 中的 ORCA 功能具有巨大潜力。也许看看 github 上的 PBDotNet 项目会更清楚。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 2016-11-11
      • 1970-01-01
      相关资源
      最近更新 更多