请高手来看一下这个接口定义是否正确 ( 积分: 200 )

N

novelty

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个c#开发的接口,需要在delphi中调用,我通过delphi的project/import type library菜单生成了接口定义文件MdcClient_TLB.pas,我应该如何调用接口中的GetPersonInfo方法.

接口定义的源代码:
unit MdcClient_TLB;

// ************************************************************************ //
// WARNING
// -------
// The types declared in this file were generated from data read from a
// Type Library. If this type library is explicitly or indirectly (via
// another type library referring to this type library) re-imported, or the
// 'Refresh' command of the Type Library Editor activated while editing the
// Type Library, the contents of this file will be regenerated and all
// manual modifications will be lost.
// ************************************************************************ //

// PASTLWTR : 1.2
// File generated on 2007-9-9 0:14:58 from Type Library described below.

// ************************************************************************ //
// Type Lib: D:/test/mdcclient.tlb (1)
// LIBID: {13DD533C-13C1-37D4-B415-B0193CC656F0}
// LCID: 0
// Helpfile:
// HelpString:
// DepndLst:
// (1) v2.0 stdole, (C:/WINDOWS/system32/stdole2.tlb)
// (2) v1.10 mscorlib, (C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/mscorlib.tlb)
// Errors:
// Hint: Parameter 'unit' of AuditingInterface.WriteOff changed to 'unit_'
// Hint: Parameter 'unit' of AuditingInterface.ChronicWriteOff changed to 'unit_'
// Hint: Parameter 'unit' of AuditingInterface.DimissionWriteOff changed to 'unit_'
// Hint: Parameter 'unit' of AuditingInterface.Inhos_Register_Fee changed to 'unit_'
// Hint: Parameter 'unit' of AuditingInterface.Inhos_Return_Fee changed to 'unit_'
// Error creating palette bitmap of (TClientObject) : Server mscoree.dll contains no icons
// ************************************************************************ //
// *************************************************************************//
// NOTE:
// Items guarded by $IFDEF_LIVE_SERVER_AT_DESIGN_TIME are used by properties
// which return objects that may need to be explicitly created via a function
// call prior to any access via the property. These items have been disabled
// in order to prevent accidental use from within the object inspector. You
// may enable them by defining LIVE_SERVER_AT_DESIGN_TIME or by selectively
// removing them from the $IFDEF blocks. However, such items must still be
// programmatically created via a method of the appropriate CoClass before
// they can be used.
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
interface

uses Windows, ActiveX, Classes, Graphics, mscorlib_TLB, OleServer, StdVCL, Variants;



// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:
// Type Libraries : LIBID_xxxx
// CoClasses : CLASS_xxxx
// DISPInterfaces : DIID_xxxx
// Non-DISP interfaces: IID_xxxx
// *********************************************************************//
const
// TypeLibrary Major and minor versions
MdcClientMajorVersion = 1;
MdcClientMinorVersion = 0;

LIBID_MdcClient: TGUID = '{13DD533C-13C1-37D4-B415-B0193CC656F0}';

IID_AuditingInterface: TGUID = '{DEDB6FE1-AA7A-3B9F-9515-38094F47A024}';
IID__ClientObject: TGUID = '{C2F7E87C-28B1-3B35-BBAE-6BEA8A104589}';
CLASS_ClientObject: TGUID = '{1C54E9CD-D8F4-3161-AB8B-163D4F959922}';
type

// *********************************************************************//
// Forward declaration of types defined in TypeLibrary
// *********************************************************************//
AuditingInterface = interface;
AuditingInterfaceDisp = dispinterface;
_ClientObject = interface;
_ClientObjectDisp = dispinterface;

// *********************************************************************//
// Declaration of CoClasses defined in Type Library
// (NOTE: Here we map each CoClass to its Default Interface)
// *********************************************************************//
ClientObject = _ClientObject;


// *********************************************************************//
// Interface: AuditingInterface
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {DEDB6FE1-AA7A-3B9F-9515-38094F47A024}
// *********************************************************************//
AuditingInterface = interface(IDispatch)
['{DEDB6FE1-AA7A-3B9F-9515-38094F47A024}']
function GetPersonInfo(const person_id: WideString; const hos_code: WideString;
const machine_no: WideString; const is_inhos: WideString;
out m_result: WideString): WideString; safecall;
function WriteOff(const person_code: WideString; const hos_code: WideString;
const machine_no: WideString; const fee_name: WideString;
const center_fee_code: WideString; const center_fee_item: WideString;
const packing: WideString; const drugs_form: WideString;
const unit_: WideString; const price: WideString; const amount: WideString;
const money: WideString; const up_person: WideString;
const invoice_money: WideString; const brush_times: WideString;
const count: WideString; out m_result: WideString): WideString; safecall;
function ClinicReturn(const person_code: WideString; const hos_code: WideString;
const machine_no: WideString; const receipt_no: WideString;
const brush_times: WideString; out m_result: WideString): WideString; safecall;
function ChronicWriteOff(const person_code: WideString; const hos_code: WideString;
const fee_name: WideString; const center_fee_code: WideString;
const packing: WideString; const drugs_form: WideString;
const unit_: WideString; const price: WideString;
const amount: WideString; const money: WideString;
const up_person: WideString; const invoice_money: WideString;
const icd_code: WideString; const count: WideString): WideString; safecall;
function ChronicReturn(const hos_code: WideString; const receipt_no: WideString): WideString; safecall;
function DimissionWriteOff(const person_code: WideString; const hos_code: WideString;
const machine_no: WideString; const fee_name: WideString;
const center_fee_code: WideString;
const center_fee_item: WideString; const packing: WideString;
const drugs_form: WideString; const unit_: WideString;
const price: WideString; const amount: WideString;
const money: WideString; const up_person: WideString;
const invoice_money: WideString; const brush_times: WideString;
const count: WideString; out m_result: WideString): WideString; safecall;
function DimissionClinicReturn(const person_code: WideString; const hos_code: WideString;
const machine_no: WideString; const receipt_no: WideString;
const brush_times: WideString; out m_result: WideString): WideString; safecall;
function InhosAutiting(const person_code: WideString; const hos_code: WideString;
const machine_no: WideString; const apparatus_fee: WideString;
const special_cure: WideString; const self_accs_pay: WideString;
const operators: WideString; const brush_times: WideString;
out m_result: WideString): WideString; safecall;
function DimissionInhosAutiting(const person_code: WideString; const hos_code: WideString;
const machine_no: WideString; const apparatus_fee: WideString;
const special_cure: WideString; const operators: WideString;
const brush_times: WideString; out m_result: WideString): WideString; safecall;
function InhosReturn(const mdc_receipt_no: WideString; const hos_code: WideString): WordBool; safecall;
function TransHosAutiting(const person_code: WideString; const hos_code: WideString;
const inhos_type: WideString; const apparatus_fee: WideString;
const special_cure: WideString; const self_accs_pay: WideString;
const operators: WideString): WideString; safecall;
function Machine_Register(const register_no: WideString; const dep_name: WideString): WideString; safecall;
function Machine_UpDate_Register(const hos_no: WideString; const machine_no: WideString;
const machine_name: WideString): WideString; safecall;
function Inhos_Register(const person_code: WideString; const illcase_no: WideString;
const hos_code: WideString; const machine_no: WideString;
const office_name: WideString; const bed_name: WideString;
const inhos_doctor: WideString; const icd_code: WideString;
const operators: WideString; const brush_times: WideString;
out m_result: WideString): WideString; safecall;
function Inhos_Register_Fee(const person_code: WideString; const bill_doctor: WideString;
const machine_no: WideString; const glide_no: WideString;
const fee_name: WideString; const center_fee_code: WideString;
const center_fee_type: WideString; const packing: WideString;
const drugs_form: WideString; const unit_: WideString;
const price: WideString; const amount: WideString;
const money: WideString; const total_money: WideString;
const up_person: WideString; const count: WideString;
out m_result: WideString): WideString; safecall;
function Inhos_Return_Fee(const person_code: WideString; const bill_doctor: WideString;
const machine_no: WideString; const fee_name: WideString;
const center_fee_code: WideString; const v_packing: WideString;
const drugs_form: WideString; const unit_: WideString;
const price: WideString; const amount: WideString;
const money: WideString; const up_person: WideString;
const count: WideString; out m_result: WideString): WideString; safecall;
function Leave_Hos(const person_code: WideString; const machine_no: WideString;
out m_result: WideString): WideString; safecall;
function Get_Fund_Inhos(const person_code: WideString; out m_result: WideString): WideString; safecall;
function Inhos_Register_Update(const person_code: WideString; const illcase_no: WideString;
const machine_no: WideString; const off_name: WideString;
const bed_name: WideString; const inhos_doctor: WideString;
const icd_code: WideString; const operators: WideString;
out m_result: WideString): WideString; safecall;
function Hos_Apply_Fee(const beg_date: WideString; const end_date: WideString;
const receipt_no: WideString; const hos_code: WideString;
const machine_no: WideString; const operators: WideString;
out m_result: WideString): WideString; safecall;
function TestConn: WideString; safecall;
end;

// *********************************************************************//
// DispIntf: AuditingInterfaceDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {DEDB6FE1-AA7A-3B9F-9515-38094F47A024}
// *********************************************************************//
AuditingInterfaceDisp = dispinterface
['{DEDB6FE1-AA7A-3B9F-9515-38094F47A024}']
function GetPersonInfo(const person_id: WideString; const hos_code: WideString;
const machine_no: WideString; const is_inhos: WideString;
out m_result: WideString): WideString; dispid 1610743808;
function WriteOff(const person_code: WideString; const hos_code: WideString;
const machine_no: WideString; const fee_name: WideString;
const center_fee_code: WideString; const center_fee_item: WideString;
const packing: WideString; const drugs_form: WideString;
const unit_: WideString; const price: WideString; const amount: WideString;
const money: WideString; const up_person: WideString;
const invoice_money: WideString; const brush_times: WideString;
const count: WideString; out m_result: WideString): WideString; dispid 1610743809;
function ClinicReturn(const person_code: WideString; const hos_code: WideString;
const machine_no: WideString; const receipt_no: WideString;
const brush_times: WideString; out m_result: WideString): WideString; dispid 1610743810;
function ChronicWriteOff(const person_code: WideString; const hos_code: WideString;
const fee_name: WideString; const center_fee_code: WideString;
const packing: WideString; const drugs_form: WideString;
const unit_: WideString; const price: WideString;
const amount: WideString; const money: WideString;
const up_person: WideString; const invoice_money: WideString;
const icd_code: WideString; const count: WideString): WideString; dispid 1610743811;
function ChronicReturn(const hos_code: WideString; const receipt_no: WideString): WideString; dispid 1610743812;
function DimissionWriteOff(const person_code: WideString; const hos_code: WideString;
const machine_no: WideString; const fee_name: WideString;
const center_fee_code: WideString;
const center_fee_item: WideString; const packing: WideString;
const drugs_form: WideString; const unit_: WideString;
const price: WideString; const amount: WideString;
const money: WideString; const up_person: WideString;
const invoice_money: WideString; const brush_times: WideString;
const count: WideString; out m_result: WideString): WideString; dispid 1610743813;
function DimissionClinicReturn(const person_code: WideString; const hos_code: WideString;
const machine_no: WideString; const receipt_no: WideString;
const brush_times: WideString; out m_result: WideString): WideString; dispid 1610743814;
function InhosAutiting(const person_code: WideString; const hos_code: WideString;
const machine_no: WideString; const apparatus_fee: WideString;
const special_cure: WideString; const self_accs_pay: WideString;
const operators: WideString; const brush_times: WideString;
out m_result: WideString): WideString; dispid 1610743815;
function DimissionInhosAutiting(const person_code: WideString; const hos_code: WideString;
const machine_no: WideString; const apparatus_fee: WideString;
const special_cure: WideString; const operators: WideString;
const brush_times: WideString; out m_result: WideString): WideString; dispid 1610743816;
function InhosReturn(const mdc_receipt_no: WideString; const hos_code: WideString): WordBool; dispid 1610743817;
function TransHosAutiting(const person_code: WideString; const hos_code: WideString;
const inhos_type: WideString; const apparatus_fee: WideString;
const special_cure: WideString; const self_accs_pay: WideString;
const operators: WideString): WideString; dispid 1610743818;
function Machine_Register(const register_no: WideString; const dep_name: WideString): WideString; dispid 1610743819;
function Machine_UpDate_Register(const hos_no: WideString; const machine_no: WideString;
const machine_name: WideString): WideString; dispid 1610743820;
function Inhos_Register(const person_code: WideString; const illcase_no: WideString;
const hos_code: WideString; const machine_no: WideString;
const office_name: WideString; const bed_name: WideString;
const inhos_doctor: WideString; const icd_code: WideString;
const operators: WideString; const brush_times: WideString;
out m_result: WideString): WideString; dispid 1610743821;
function Inhos_Register_Fee(const person_code: WideString; const bill_doctor: WideString;
const machine_no: WideString; const glide_no: WideString;
const fee_name: WideString; const center_fee_code: WideString;
const center_fee_type: WideString; const packing: WideString;
const drugs_form: WideString; const unit_: WideString;
const price: WideString; const amount: WideString;
const money: WideString; const total_money: WideString;
const up_person: WideString; const count: WideString;
out m_result: WideString): WideString; dispid 1610743822;
function Inhos_Return_Fee(const person_code: WideString; const bill_doctor: WideString;
const machine_no: WideString; const fee_name: WideString;
const center_fee_code: WideString; const v_packing: WideString;
const drugs_form: WideString; const unit_: WideString;
const price: WideString; const amount: WideString;
const money: WideString; const up_person: WideString;
const count: WideString; out m_result: WideString): WideString; dispid 1610743823;
function Leave_Hos(const person_code: WideString; const machine_no: WideString;
out m_result: WideString): WideString; dispid 1610743824;
function Get_Fund_Inhos(const person_code: WideString; out m_result: WideString): WideString; dispid 1610743825;
function Inhos_Register_Update(const person_code: WideString; const illcase_no: WideString;
const machine_no: WideString; const off_name: WideString;
const bed_name: WideString; const inhos_doctor: WideString;
const icd_code: WideString; const operators: WideString;
out m_result: WideString): WideString; dispid 1610743826;
function Hos_Apply_Fee(const beg_date: WideString; const end_date: WideString;
const receipt_no: WideString; const hos_code: WideString;
const machine_no: WideString; const operators: WideString;
out m_result: WideString): WideString; dispid 1610743827;
function TestConn: WideString; dispid 1610743828;
end;

// *********************************************************************//
// Interface: _ClientObject
// Flags: (4432) Hidden Dual OleAutomation Dispatchable
// GUID: {C2F7E87C-28B1-3B35-BBAE-6BEA8A104589}
// *********************************************************************//
_ClientObject = interface(IDispatch)
['{C2F7E87C-28B1-3B35-BBAE-6BEA8A104589}']
end;

// *********************************************************************//
// DispIntf: _ClientObjectDisp
// Flags: (4432) Hidden Dual OleAutomation Dispatchable
// GUID: {C2F7E87C-28B1-3B35-BBAE-6BEA8A104589}
// *********************************************************************//
_ClientObjectDisp = dispinterface
['{C2F7E87C-28B1-3B35-BBAE-6BEA8A104589}']
end;

// *********************************************************************//
// The Class CoClientObject provides a Create and CreateRemote method to
// create instances of the default interface _ClientObject exposed by
// the CoClass ClientObject. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoClientObject = class
class function Create: _ClientObject;
class function CreateRemote(const MachineName: string): _ClientObject;
end;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object : TClientObject
// Help String :
// Default Interface: _ClientObject
// Def. Intf. DISP? : No
// Event Interface:
// TypeFlags : (2) CanCreate
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
TClientObjectProperties= class;
{$ENDIF}
TClientObject = class(TOleServer)
private
FIntf: _ClientObject;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
FProps: TClientObjectProperties;
function GetServerProperties: TClientObjectProperties;
{$ENDIF}
function GetDefaultInterface: _ClientObject;
protected
procedure InitServerData; override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Connect; override;
procedure ConnectTo(svrIntf: _ClientObject);
procedure Disconnect; override;
property DefaultInterface: _ClientObject read GetDefaultInterface;
published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
property Server: TClientObjectProperties read GetServerProperties;
{$ENDIF}
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object : TClientObject
// (This object is used by the IDE's Property Inspector to allow editing
// of the properties of this server)
// *********************************************************************//
TClientObjectProperties = class(TPersistent)
private
FServer: TClientObject;
function GetDefaultInterface: _ClientObject;
constructor Create(AServer: TClientObject);
protected
public
property DefaultInterface: _ClientObject read GetDefaultInterface;
published
end;
{$ENDIF}


procedure Register;

resourcestring
dtlServerPage = 'ActiveX';

dtlOcxPage = 'ActiveX';

implementation

uses ComObj;

class function CoClientObject.Create: _ClientObject;
begin
Result := CreateComObject(CLASS_ClientObject) as _ClientObject;
end;

class function CoClientObject.CreateRemote(const MachineName: string): _ClientObject;
begin
Result := CreateRemoteComObject(MachineName, CLASS_ClientObject) as _ClientObject;
end;

procedure TClientObject.InitServerData;
const
CServerData: TServerData = (
ClassID: '{1C54E9CD-D8F4-3161-AB8B-163D4F959922}';
IntfIID: '{C2F7E87C-28B1-3B35-BBAE-6BEA8A104589}';
EventIID: '';
LicenseKey: nil;
Version: 500);
begin
ServerData := @CServerData;
end;

procedure TClientObject.Connect;
var
punk: IUnknown;
begin
if FIntf = nil then
begin
punk := GetServer;
Fintf:= punk as _ClientObject;
end;
end;

procedure TClientObject.ConnectTo(svrIntf: _ClientObject);
begin
Disconnect;
FIntf := svrIntf;
end;

procedure TClientObject.DisConnect;
begin
if Fintf <> nil then
begin
FIntf := nil;
end;
end;

function TClientObject.GetDefaultInterface: _ClientObject;
begin
if FIntf = nil then
Connect;
Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
Result := FIntf;
end;

constructor TClientObject.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
FProps := TClientObjectProperties.Create(Self);
{$ENDIF}
end;

destructor TClientObject.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
FProps.Free;
{$ENDIF}
inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TClientObject.GetServerProperties: TClientObjectProperties;
begin
Result := FProps;
end;
{$ENDIF}

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TClientObjectProperties.Create(AServer: TClientObject);
begin
inherited Create;
FServer := AServer;
end;

function TClientObjectProperties.GetDefaultInterface: _ClientObject;
begin
Result := FServer.DefaultInterface;
end;

{$ENDIF}

procedure Register;
begin
RegisterComponents(dtlServerPage, [TClientObject]);
end;

end.
 
顶部