Delphi 德尔福速记

Delphi 德尔福速记,delphi,delphi-7,quickbooks,Delphi,Delphi 7,Quickbooks,我正在尝试使用Delphi7通过qbfc库连接到quickbooks公司文件 已导入已创建QBFC12Lib_TLB文件的类型库 已将该文件包含到我的表单的使用列表中 连接到库的代码 var TempSession : QBSessionManager; TempRequest : IMsgSetRequest; TempCustomer : ICustomerAdd; TempResponse : IMsgSetResponse; AppID, AppName : Wide

我正在尝试使用Delphi7通过qbfc库连接到quickbooks公司文件

已导入已创建QBFC12Lib_TLB文件的类型库

已将该文件包含到我的表单的使用列表中

连接到库的代码

var
  TempSession : QBSessionManager;
  TempRequest : IMsgSetRequest;
  TempCustomer : ICustomerAdd;
  TempResponse : IMsgSetResponse;
  AppID, AppName : WideString;
begin
  AppID := '123';
  AppName := 'Hello';
  TempSession.OpenConnection2(AppID, AppName, ctLocalQBDLaunchUI);
  TempSession.BeginSession('', omDontCare);
但在“TempSession.OpenConnection2…”上发生访问冲突错误


是否有人尝试过此方法,或者有人可以提供一些如何进行此操作的示例?

正如Ken White所建议的(如中所示),在调用
OpenConnection2
之前,您需要实例化
QBSessionManager
对象

QBSessionManager TempSession = new QBSessionManager();
或者可能(尽管我找不到任何使用此符号的示例)


与任何其他Delphi类或接口一样,在使用它之前,您需要实际创建它。查看Delphi为您创建的类的类型库(TLB文件)。您将看到一个类似于
TQBSessionManager
的函数,它有一个
Create
构造函数。使用它,比如
TempSession:=TQBSessionManager.Create(您需要查看该构造函数以了解如何准确调用它,因为我没有安装QB-如果安装了,我会发布一个答案)。调用构造函数后,您应该能够使用
TempSession.OpenConnection2
和其他方法。非常感谢@Sam,我似乎使用的是QBSessionManager而不是TQBSessionManager
TempSession := QBSessionManager.Create();