有人会做DELPHI登陆SAP R/3的程序吗?给个源码好不好(没结束,继续讨论)? (50分)

  • 主题发起人 易名烦
  • 开始时间
P

pmis

Unregistered / Unconfirmed
GUEST, unregistred user!
你会写SAP R3的BAPI吗?,好象你定义一个BAPI试一下,你调用BAPI应当可以做的.
 

易名烦

Unregistered / Unconfirmed
GUEST, unregistred user!
能给代码吗?或给我发个MAIL就真是太好了!
 
P

pmis

Unregistered / Unconfirmed
GUEST, unregistred user!
可以呀,不过我要去我的R3主机里把哪个程序找到给你,我们有做过可以通过BAPI
调用R3的数据表!!,明天给你行吗...
我也是四川的哟...
兄弟.......
 

易名烦

Unregistered / Unconfirmed
GUEST, unregistred user!
真是太太好了,谢谢你,油箱:zoujinhe@changhong.com
 

易名烦

Unregistered / Unconfirmed
GUEST, unregistred user!
pmis同志,你给我的源码呢?
 
I

itren

Unregistered / Unconfirmed
GUEST, unregistred user!
我好象下过一个 SAP Dcom Connecter 4.6D 不知道有没有用!!
放到我FTP中.
 

易名烦

Unregistered / Unconfirmed
GUEST, unregistred user!
我看看呢,继续讨论。
 

易名烦

Unregistered / Unconfirmed
GUEST, unregistred user!
你的FTP是多少,我不知道啊?
 

易名烦

Unregistered / Unconfirmed
GUEST, unregistred user!
快来高人出手指点一下江山吧。
 

刘李子

Unregistered / Unconfirmed
GUEST, unregistred user!
请分析_CSAPLogonControl接口。
我也是长虹,传呼:7785

unit SAPLogonCtrl_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 : $Revision: 1.130 $
// File generated on 2003-1-18 11:30:30 from Type Library described below.

// ************************************************************************ //
// Type Lib: C:/PROGRA~1/COMMON~1/SAPSHA~1/System/wdtlog.OCX (1)
// LIBID: {B24944D9-1501-11CF-8981-0000E8A49FA0}
// LCID: 0
// Helpfile:
// DepndLst:
// (1) v2.0 stdole, (C:/WINNT/System32/stdole2.tlb)
// (2) v2.0 StdType, (C:/WINNT/System32/olepro32.dll)
// (3) v4.0 StdVCL, (C:/WINNT/System32/stdvcl40.dll)
// Errors:
// Hint: Symbol 'System' renamed to 'System_'
// Hint: Symbol 'System' renamed to 'System_'
// ************************************************************************ //
// *************************************************************************//
// 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}

interface

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


// *********************************************************************//
// 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
SAPLogonCtrlMajorVersion = 1;
SAPLogonCtrlMinorVersion = 1;

LIBID_SAPLogonCtrl: TGUID = '{B24944D9-1501-11CF-8981-0000E8A49FA0}';

DIID__CSAPLogonControl: TGUID = '{B24944D7-1501-11CF-8981-0000E8A49FA0}';
DIID__CSAPLogonControlEvents: TGUID = '{B24944D8-1501-11CF-8981-0000E8A49FA0}';
CLASS_SAPLogonControl: TGUID = '{B24944D6-1501-11CF-8981-0000E8A49FA0}';
DIID__CSAPLogonConnection: TGUID = '{E2D74A49-184A-11CF-8984-0000E8A49FA0}';
CLASS_Connection: TGUID = '{E2D74A4A-184A-11CF-8984-0000E8A49FA0}';

// *********************************************************************//
// Declaration of Enumerations defined in Type Library
// *********************************************************************//
// Constants for enum CRfcConnectionStatus
type
CRfcConnectionStatus = TOleEnum;
const
tloRfcNotConnected = $00000000;
tloRfcConnected = $00000001;
tloRfcConnectCancel = $00000002;
tloRfcConnectParameterMissing = $00000004;
tloRfcConnectFailed = $00000008;

// Constants for enum CSAPLogonControlEvents
type
CSAPLogonControlEvents = TOleEnum;
const
tloDisableAllLogonEvents = $00000000;
tloEnableOnClick = $00000001;
tloEnableOnLogoff = $00000002;
tloEnableOnError = $00000004;
tloEnableOnCancel = $00000008;
tloEnableOnLogon = $00000010;
tloEnableAllLogonEvents = $00007FFF;

type

// *********************************************************************//
// Forward declaration of types defined in TypeLibrary
// *********************************************************************//
_CSAPLogonControl = dispinterface;
_CSAPLogonControlEvents = dispinterface;
_CSAPLogonConnection = dispinterface;

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


// *********************************************************************//
// Declaration of structures, unions and aliases.
// *********************************************************************//
PWideString1 = ^WideString
{*}
PWordBool1 = ^WordBool
{*}


// *********************************************************************//
// DispIntf: _CSAPLogonControl
// Flags: (4112) Hidden Dispatchable
// GUID: {B24944D7-1501-11CF-8981-0000E8A49FA0}
// *********************************************************************//
_CSAPLogonControl = dispinterface
['{B24944D7-1501-11CF-8981-0000E8A49FA0}']
property ApplicationName: WideString dispid 2;
property Default: WordBool dispid 1;
property ApplicationServer: WideString dispid 12;
property SystemNumber: Integer dispid 5;
property User: WideString dispid 3;
property _Caption: WideString dispid 0;
property hWnd: OLE_HANDLE dispid -515;
property System_: WideString dispid 4;
property MessageServer: WideString dispid 11;
property Language: WideString dispid 8;
property GroupName: WideString dispid 6;
property Password: WideString dispid 9;
property TraceLevel: Integer dispid 10;
procedure AboutBox
dispid -552;
procedure Enable3D
dispid 13;
property Client: WideString dispid 7;
function NewConnection: IDispatch
dispid 14;
property Font: IFontDisp dispid -512;
property Enabled: WordBool dispid -514;
property BackColor: OLE_COLOR dispid -501;
property Caption: WideString dispid -518;
end;

// *********************************************************************//
// DispIntf: _CSAPLogonControlEvents
// Flags: (4096) Dispatchable
// GUID: {B24944D8-1501-11CF-8981-0000E8A49FA0}
// *********************************************************************//
_CSAPLogonControlEvents = dispinterface
['{B24944D8-1501-11CF-8981-0000E8A49FA0}']
procedure Click
dispid -600;
procedure Error(Number: Smallint
var Description: WideString
Scode: Integer

const Source: WideString
const HelpFile: WideString
HelpContext: Integer

var CancelDisplay: WordBool)
dispid -608;
procedure Logon(const Connection: IDispatch)
dispid 1;
procedure Cancel(const Connection: IDispatch)
dispid 2;
procedure Logoff(const Connection: IDispatch)
dispid 3;
end;

// *********************************************************************//
// DispIntf: _CSAPLogonConnection
// Flags: (4096) Dispatchable
// GUID: {E2D74A49-184A-11CF-8984-0000E8A49FA0}
// *********************************************************************//
_CSAPLogonConnection = dispinterface
['{E2D74A49-184A-11CF-8984-0000E8A49FA0}']
property Client: WideString dispid 1;
property System_: WideString dispid 2;
property GroupName: WideString dispid 3;
property Language: WideString dispid 4;
property User: WideString dispid 5;
property TraceLevel: Integer dispid 6;
property ConnectionHandle: Integer dispid 7;
property SAPRouter: WideString dispid 8;
property Parent: IDispatch dispid 9;
property MessageServer: WideString dispid 10;
property SystemNumber: Integer dispid 11;
property SAPRelease: WideString dispid 12;
property ApplicationServer: WideString dispid 13;
property IsConnected: CRfcConnectionStatus dispid 14;
property Password: WideString dispid 15;
property RfcWithDialog: Integer dispid 16;
property GroupSelection: WordBool dispid 17;
property UseSAPRFCIni: WordBool dispid 23;
property UseSAPLogonIni: WordBool dispid 24;
property ABAPDebug: WordBool dispid 25;
property GRTData: WideString dispid 26;
property SystemID: WideString dispid 27;
procedure LastError
dispid 18;
procedure SystemInformation(hWnd: OleVariant)
dispid 19;
function Reconnect: WordBool
dispid 20;
procedure Logoff
dispid 21;
function Logon(hWnd: OleVariant
bSilent: WordBool): WordBool
dispid 22;
end;


// *********************************************************************//
// OLE Control Proxy class declaration
// Control Name : TSAPLogonControl
// Help String : SAP Logon Control
// Default Interface: _CSAPLogonControl
// Def. Intf. DISP? : Yes
// Event Interface: _CSAPLogonControlEvents
// TypeFlags : (34) CanCreate Control
// *********************************************************************//
TSAPLogonControlError = procedure(Sender: TObject
Number: Smallint
var Description: WideString

Scode: Integer
const Source: WideString

const HelpFile: WideString

HelpContext: Integer

var CancelDisplay: WordBool) of object;
TSAPLogonControlLogon = procedure(Sender: TObject
const Connection: IDispatch) of object;
TSAPLogonControlCancel = procedure(Sender: TObject
const Connection: IDispatch) of object;
TSAPLogonControlLogoff = procedure(Sender: TObject
const Connection: IDispatch) of object;

TSAPLogonControl = class(TOleControl)
private
FOnError: TSAPLogonControlError;
FOnLogon: TSAPLogonControlLogon;
FOnCancel: TSAPLogonControlCancel;
FOnLogoff: TSAPLogonControlLogoff;
FIntf: _CSAPLogonControl;
function GetControlInterface: _CSAPLogonControl;
protected
procedure CreateControl;
procedure InitControlData
override;
public
procedure AboutBox;
procedure Enable3D;
function NewConnection: IDispatch;
property ControlInterface: _CSAPLogonControl read GetControlInterface;
property DefaultInterface: _CSAPLogonControl read GetControlInterface;
published
property ParentColor;
property ParentFont;
property TabStop;
property Align;
property DragCursor;
property DragMode;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property Visible;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnStartDrag;
property OnClick;
property ApplicationName: WideString index 2 read GetWideStringProp write SetWideStringProp stored False;
property Default: WordBool index 1 read GetWordBoolProp write SetWordBoolProp stored False;
property ApplicationServer: WideString index 12 read GetWideStringProp write SetWideStringProp stored False;
property SystemNumber: Integer index 5 read GetIntegerProp write SetIntegerProp stored False;
property User: WideString index 3 read GetWideStringProp write SetWideStringProp stored False;
property _Caption: WideString index 0 read GetWideStringProp write SetWideStringProp stored False;
property hWnd: Integer index -515 read GetIntegerProp write SetIntegerProp stored False;
property System_: WideString index 4 read GetWideStringProp write SetWideStringProp stored False;
property MessageServer: WideString index 11 read GetWideStringProp write SetWideStringProp stored False;
property Language: WideString index 8 read GetWideStringProp write SetWideStringProp stored False;
property GroupName: WideString index 6 read GetWideStringProp write SetWideStringProp stored False;
property Password: WideString index 9 read GetWideStringProp write SetWideStringProp stored False;
property TraceLevel: Integer index 10 read GetIntegerProp write SetIntegerProp stored False;
property Client: WideString index 7 read GetWideStringProp write SetWideStringProp stored False;
property Font: TFont index -512 read GetTFontProp write SetTFontProp stored False;
property Enabled: WordBool index -514 read GetWordBoolProp write SetWordBoolProp stored False;
property BackColor: TColor index -501 read GetTColorProp write SetTColorProp stored False;
property Caption: WideString index -518 read GetWideStringProp write SetWideStringProp stored False;
property OnError: TSAPLogonControlError read FOnError write FOnError;
property OnLogon: TSAPLogonControlLogon read FOnLogon write FOnLogon;
property OnCancel: TSAPLogonControlCancel read FOnCancel write FOnCancel;
property OnLogoff: TSAPLogonControlLogoff read FOnLogoff write FOnLogoff;
end;

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


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object : TConnection
// Help String :
// Default Interface: _CSAPLogonConnection
// Def. Intf. DISP? : Yes
// Event Interface:
// TypeFlags : (2) CanCreate
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
TConnectionProperties= class;
{$ENDIF}
TConnection = class(TOleServer)
private
FIntf: _CSAPLogonConnection;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
FProps: TConnectionProperties;
function GetServerProperties: TConnectionProperties;
{$ENDIF}
function GetDefaultInterface: _CSAPLogonConnection;
protected
procedure InitServerData
override;
function Get_Client: WideString;
procedure Set_Client(const Value: WideString);
function Get_System_: WideString;
procedure Set_System_(const Value: WideString);
function Get_GroupName: WideString;
procedure Set_GroupName(const Value: WideString);
function Get_Language: WideString;
procedure Set_Language(const Value: WideString);
function Get_User: WideString;
procedure Set_User(const Value: WideString);
function Get_TraceLevel: Integer;
procedure Set_TraceLevel(Value: Integer);
function Get_ConnectionHandle: Integer;
procedure Set_ConnectionHandle(Value: Integer);
function Get_SAPRouter: WideString;
procedure Set_SAPRouter(const Value: WideString);
function Get_Parent: IDispatch;
procedure Set_Parent(const Value: IDispatch);
function Get_MessageServer: WideString;
procedure Set_MessageServer(const Value: WideString);
function Get_SystemNumber: Integer;
procedure Set_SystemNumber(Value: Integer);
function Get_SAPRelease: WideString;
procedure Set_SAPRelease(const Value: WideString);
function Get_ApplicationServer: WideString;
procedure Set_ApplicationServer(const Value: WideString);
function Get_IsConnected: CRfcConnectionStatus;
procedure Set_IsConnected(Value: CRfcConnectionStatus);
function Get_Password: WideString;
procedure Set_Password(const Value: WideString);
function Get_RfcWithDialog: Integer;
procedure Set_RfcWithDialog(Value: Integer);
function Get_GroupSelection: WordBool;
procedure Set_GroupSelection(Value: WordBool);
function Get_UseSAPRFCIni: WordBool;
procedure Set_UseSAPRFCIni(Value: WordBool);
function Get_UseSAPLogonIni: WordBool;
procedure Set_UseSAPLogonIni(Value: WordBool);
function Get_ABAPDebug: WordBool;
procedure Set_ABAPDebug(Value: WordBool);
function Get_GRTData: WideString;
procedure Set_GRTData(const Value: WideString);
function Get_SystemID: WideString;
procedure Set_SystemID(const Value: WideString);
public
constructor Create(AOwner: TComponent)
override;
destructor Destroy
override;
procedure Connect
override;
procedure ConnectTo(svrIntf: _CSAPLogonConnection);
procedure Disconnect
override;
procedure LastError;
procedure SystemInformation(hWnd: OleVariant);
function Reconnect: WordBool;
procedure Logoff;
function Logon(hWnd: OleVariant
bSilent: WordBool): WordBool;
property DefaultInterface: _CSAPLogonConnection read GetDefaultInterface;
property Parent: IDispatch read Get_Parent write Set_Parent;
property Client: WideString read Get_Client write Set_Client;
property System_: WideString read Get_System_ write Set_System_;
property GroupName: WideString read Get_GroupName write Set_GroupName;
property Language: WideString read Get_Language write Set_Language;
property User: WideString read Get_User write Set_User;
property TraceLevel: Integer read Get_TraceLevel write Set_TraceLevel;
property ConnectionHandle: Integer read Get_ConnectionHandle write Set_ConnectionHandle;
property SAPRouter: WideString read Get_SAPRouter write Set_SAPRouter;
property MessageServer: WideString read Get_MessageServer write Set_MessageServer;
property SystemNumber: Integer read Get_SystemNumber write Set_SystemNumber;
property SAPRelease: WideString read Get_SAPRelease write Set_SAPRelease;
property ApplicationServer: WideString read Get_ApplicationServer write Set_ApplicationServer;
property IsConnected: CRfcConnectionStatus read Get_IsConnected write Set_IsConnected;
property Password: WideString read Get_Password write Set_Password;
property RfcWithDialog: Integer read Get_RfcWithDialog write Set_RfcWithDialog;
property GroupSelection: WordBool read Get_GroupSelection write Set_GroupSelection;
property UseSAPRFCIni: WordBool read Get_UseSAPRFCIni write Set_UseSAPRFCIni;
property UseSAPLogonIni: WordBool read Get_UseSAPLogonIni write Set_UseSAPLogonIni;
property ABAPDebug: WordBool read Get_ABAPDebug write Set_ABAPDebug;
property GRTData: WideString read Get_GRTData write Set_GRTData;
property SystemID: WideString read Get_SystemID write Set_SystemID;
published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
property Server: TConnectionProperties read GetServerProperties;
{$ENDIF}
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object : TConnection
// (This object is used by the IDE's Property Inspector to allow editing
// of the properties of this server)
// *********************************************************************//
TConnectionProperties = class(TPersistent)
private
FServer: TConnection;
function GetDefaultInterface: _CSAPLogonConnection;
constructor Create(AServer: TConnection);
protected
function Get_Client: WideString;
procedure Set_Client(const Value: WideString);
function Get_System_: WideString;
procedure Set_System_(const Value: WideString);
function Get_GroupName: WideString;
procedure Set_GroupName(const Value: WideString);
function Get_Language: WideString;
procedure Set_Language(const Value: WideString);
function Get_User: WideString;
procedure Set_User(const Value: WideString);
function Get_TraceLevel: Integer;
procedure Set_TraceLevel(Value: Integer);
function Get_ConnectionHandle: Integer;
procedure Set_ConnectionHandle(Value: Integer);
function Get_SAPRouter: WideString;
procedure Set_SAPRouter(const Value: WideString);
function Get_Parent: IDispatch;
procedure Set_Parent(const Value: IDispatch);
function Get_MessageServer: WideString;
procedure Set_MessageServer(const Value: WideString);
function Get_SystemNumber: Integer;
procedure Set_SystemNumber(Value: Integer);
function Get_SAPRelease: WideString;
procedure Set_SAPRelease(const Value: WideString);
function Get_ApplicationServer: WideString;
procedure Set_ApplicationServer(const Value: WideString);
function Get_IsConnected: CRfcConnectionStatus;
procedure Set_IsConnected(Value: CRfcConnectionStatus);
function Get_Password: WideString;
procedure Set_Password(const Value: WideString);
function Get_RfcWithDialog: Integer;
procedure Set_RfcWithDialog(Value: Integer);
function Get_GroupSelection: WordBool;
procedure Set_GroupSelection(Value: WordBool);
function Get_UseSAPRFCIni: WordBool;
procedure Set_UseSAPRFCIni(Value: WordBool);
function Get_UseSAPLogonIni: WordBool;
procedure Set_UseSAPLogonIni(Value: WordBool);
function Get_ABAPDebug: WordBool;
procedure Set_ABAPDebug(Value: WordBool);
function Get_GRTData: WideString;
procedure Set_GRTData(const Value: WideString);
function Get_SystemID: WideString;
procedure Set_SystemID(const Value: WideString);
public
property DefaultInterface: _CSAPLogonConnection read GetDefaultInterface;
published
property Client: WideString read Get_Client write Set_Client;
property System_: WideString read Get_System_ write Set_System_;
property GroupName: WideString read Get_GroupName write Set_GroupName;
property Language: WideString read Get_Language write Set_Language;
property User: WideString read Get_User write Set_User;
property TraceLevel: Integer read Get_TraceLevel write Set_TraceLevel;
property ConnectionHandle: Integer read Get_ConnectionHandle write Set_ConnectionHandle;
property SAPRouter: WideString read Get_SAPRouter write Set_SAPRouter;
property MessageServer: WideString read Get_MessageServer write Set_MessageServer;
property SystemNumber: Integer read Get_SystemNumber write Set_SystemNumber;
property SAPRelease: WideString read Get_SAPRelease write Set_SAPRelease;
property ApplicationServer: WideString read Get_ApplicationServer write Set_ApplicationServer;
property IsConnected: CRfcConnectionStatus read Get_IsConnected write Set_IsConnected;
property Password: WideString read Get_Password write Set_Password;
property RfcWithDialog: Integer read Get_RfcWithDialog write Set_RfcWithDialog;
property GroupSelection: WordBool read Get_GroupSelection write Set_GroupSelection;
property UseSAPRFCIni: WordBool read Get_UseSAPRFCIni write Set_UseSAPRFCIni;
property UseSAPLogonIni: WordBool read Get_UseSAPLogonIni write Set_UseSAPLogonIni;
property ABAPDebug: WordBool read Get_ABAPDebug write Set_ABAPDebug;
property GRTData: WideString read Get_GRTData write Set_GRTData;
property SystemID: WideString read Get_SystemID write Set_SystemID;
end;
{$ENDIF}


procedure Register;

resourcestring
dtlServerPage = 'ActiveX';

implementation

uses ComObj;

procedure TSAPLogonControl.InitControlData;
const
CEventDispIDs: array [0..3] of DWORD = (
$FFFFFDA0, $00000001, $00000002, $00000003);
CTFontIDs: array [0..0] of DWORD = (
$FFFFFE00);
CControlData: TControlData2 = (
ClassID: '{B24944D6-1501-11CF-8981-0000E8A49FA0}';
EventIID: '{B24944D8-1501-11CF-8981-0000E8A49FA0}';
EventCount: 4;
EventDispIDs: @CEventDispIDs;
LicenseKey: nil (*HR:$80004005*);
Flags: $0000001D;
Version: 401;
FontCount: 1;
FontIDs: @CTFontIDs);
begin
ControlData := @CControlData;
TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnError) - Cardinal(Self);
end;

procedure TSAPLogonControl.CreateControl;

procedure DoCreate;
begin
FIntf := IUnknown(OleObject) as _CSAPLogonControl;
end;

begin
if FIntf = nil then DoCreate;
end;

function TSAPLogonControl.GetControlInterface: _CSAPLogonControl;
begin
CreateControl;
Result := FIntf;
end;

procedure TSAPLogonControl.AboutBox;
begin
DefaultInterface.AboutBox;
end;

procedure TSAPLogonControl.Enable3D;
begin
DefaultInterface.Enable3D;
end;

function TSAPLogonControl.NewConnection: IDispatch;
begin
DefaultInterface.NewConnection;
end;

class function CoConnection.Create: _CSAPLogonConnection;
begin
Result := CreateComObject(CLASS_Connection) as _CSAPLogonConnection;
end;

class function CoConnection.CreateRemote(const MachineName: string): _CSAPLogonConnection;
begin
Result := CreateRemoteComObject(MachineName, CLASS_Connection) as _CSAPLogonConnection;
end;

procedure TConnection.InitServerData;
const
CServerData: TServerData = (
ClassID: '{E2D74A4A-184A-11CF-8984-0000E8A49FA0}';
IntfIID: '{E2D74A49-184A-11CF-8984-0000E8A49FA0}';
EventIID: '';
LicenseKey: nil;
Version: 500);
begin
ServerData := @CServerData;
end;

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

procedure TConnection.ConnectTo(svrIntf: _CSAPLogonConnection);
begin
Disconnect;
FIntf := svrIntf;
end;

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

function TConnection.GetDefaultInterface: _CSAPLogonConnection;
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 TConnection.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
FProps := TConnectionProperties.Create(Self);
{$ENDIF}
end;

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

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

function TConnection.Get_Client: WideString;
begin
Result := DefaultInterface.Client;
end;

procedure TConnection.Set_Client(const Value: WideString);
begin
DefaultInterface.Client := Value;
end;

function TConnection.Get_System_: WideString;
begin
Result := DefaultInterface.System_;
end;

procedure TConnection.Set_System_(const Value: WideString);
begin
DefaultInterface.System_ := Value;
end;

function TConnection.Get_GroupName: WideString;
begin
Result := DefaultInterface.GroupName;
end;

procedure TConnection.Set_GroupName(const Value: WideString);
begin
DefaultInterface.GroupName := Value;
end;

function TConnection.Get_Language: WideString;
begin
Result := DefaultInterface.Language;
end;

procedure TConnection.Set_Language(const Value: WideString);
begin
DefaultInterface.Language := Value;
end;

function TConnection.Get_User: WideString;
begin
Result := DefaultInterface.User;
end;

procedure TConnection.Set_User(const Value: WideString);
begin
DefaultInterface.User := Value;
end;

function TConnection.Get_TraceLevel: Integer;
begin
Result := DefaultInterface.TraceLevel;
end;

procedure TConnection.Set_TraceLevel(Value: Integer);
begin
DefaultInterface.TraceLevel := Value;
end;

function TConnection.Get_ConnectionHandle: Integer;
begin
Result := DefaultInterface.ConnectionHandle;
end;

procedure TConnection.Set_ConnectionHandle(Value: Integer);
begin
DefaultInterface.ConnectionHandle := Value;
end;

function TConnection.Get_SAPRouter: WideString;
begin
Result := DefaultInterface.SAPRouter;
end;

procedure TConnection.Set_SAPRouter(const Value: WideString);
begin
DefaultInterface.SAPRouter := Value;
end;

function TConnection.Get_Parent: IDispatch;
begin
Result := DefaultInterface.Parent;
end;

procedure TConnection.Set_Parent(const Value: IDispatch);
begin
DefaultInterface.Parent := Value;
end;

function TConnection.Get_MessageServer: WideString;
begin
Result := DefaultInterface.MessageServer;
end;

procedure TConnection.Set_MessageServer(const Value: WideString);
begin
DefaultInterface.MessageServer := Value;
end;

function TConnection.Get_SystemNumber: Integer;
begin
Result := DefaultInterface.SystemNumber;
end;

procedure TConnection.Set_SystemNumber(Value: Integer);
begin
DefaultInterface.SystemNumber := Value;
end;

function TConnection.Get_SAPRelease: WideString;
begin
Result := DefaultInterface.SAPRelease;
end;

procedure TConnection.Set_SAPRelease(const Value: WideString);
begin
DefaultInterface.SAPRelease := Value;
end;

function TConnection.Get_ApplicationServer: WideString;
begin
Result := DefaultInterface.ApplicationServer;
end;

procedure TConnection.Set_ApplicationServer(const Value: WideString);
begin
DefaultInterface.ApplicationServer := Value;
end;

function TConnection.Get_IsConnected: CRfcConnectionStatus;
begin
Result := DefaultInterface.IsConnected;
end;

procedure TConnection.Set_IsConnected(Value: CRfcConnectionStatus);
begin
DefaultInterface.IsConnected := Value;
end;

function TConnection.Get_Password: WideString;
begin
Result := DefaultInterface.Password;
end;

procedure TConnection.Set_Password(const Value: WideString);
begin
DefaultInterface.Password := Value;
end;

function TConnection.Get_RfcWithDialog: Integer;
begin
Result := DefaultInterface.RfcWithDialog;
end;

procedure TConnection.Set_RfcWithDialog(Value: Integer);
begin
DefaultInterface.RfcWithDialog := Value;
end;

function TConnection.Get_GroupSelection: WordBool;
begin
Result := DefaultInterface.GroupSelection;
end;

procedure TConnection.Set_GroupSelection(Value: WordBool);
begin
DefaultInterface.GroupSelection := Value;
end;

function TConnection.Get_UseSAPRFCIni: WordBool;
begin
Result := DefaultInterface.UseSAPRFCIni;
end;

procedure TConnection.Set_UseSAPRFCIni(Value: WordBool);
begin
DefaultInterface.UseSAPRFCIni := Value;
end;

function TConnection.Get_UseSAPLogonIni: WordBool;
begin
Result := DefaultInterface.UseSAPLogonIni;
end;

procedure TConnection.Set_UseSAPLogonIni(Value: WordBool);
begin
DefaultInterface.UseSAPLogonIni := Value;
end;

function TConnection.Get_ABAPDebug: WordBool;
begin
Result := DefaultInterface.ABAPDebug;
end;

procedure TConnection.Set_ABAPDebug(Value: WordBool);
begin
DefaultInterface.ABAPDebug := Value;
end;

function TConnection.Get_GRTData: WideString;
begin
Result := DefaultInterface.GRTData;
end;

procedure TConnection.Set_GRTData(const Value: WideString);
begin
DefaultInterface.GRTData := Value;
end;

function TConnection.Get_SystemID: WideString;
begin
Result := DefaultInterface.SystemID;
end;

procedure TConnection.Set_SystemID(const Value: WideString);
begin
DefaultInterface.SystemID := Value;
end;

procedure TConnection.LastError;
begin
DefaultInterface.LastError;
end;

procedure TConnection.SystemInformation(hWnd: OleVariant);
begin
DefaultInterface.SystemInformation(hWnd);
end;

function TConnection.Reconnect: WordBool;
begin
DefaultInterface.Reconnect;
end;

procedure TConnection.Logoff;
begin
DefaultInterface.Logoff;
end;

function TConnection.Logon(hWnd: OleVariant
bSilent: WordBool): WordBool;
begin
DefaultInterface.Logon(hWnd, bSilent);
end;

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

function TConnectionProperties.GetDefaultInterface: _CSAPLogonConnection;
begin
Result := FServer.DefaultInterface;
end;

function TConnectionProperties.Get_Client: WideString;
begin
Result := DefaultInterface.Client;
end;

procedure TConnectionProperties.Set_Client(const Value: WideString);
begin
DefaultInterface.Client := Value;
end;

function TConnectionProperties.Get_System_: WideString;
begin
Result := DefaultInterface.System_;
end;

procedure TConnectionProperties.Set_System_(const Value: WideString);
begin
DefaultInterface.System_ := Value;
end;

function TConnectionProperties.Get_GroupName: WideString;
begin
Result := DefaultInterface.GroupName;
end;

procedure TConnectionProperties.Set_GroupName(const Value: WideString);
begin
DefaultInterface.GroupName := Value;
end;

function TConnectionProperties.Get_Language: WideString;
begin
Result := DefaultInterface.Language;
end;

procedure TConnectionProperties.Set_Language(const Value: WideString);
begin
DefaultInterface.Language := Value;
end;

function TConnectionProperties.Get_User: WideString;
begin
Result := DefaultInterface.User;
end;

procedure TConnectionProperties.Set_User(const Value: WideString);
begin
DefaultInterface.User := Value;
end;

function TConnectionProperties.Get_TraceLevel: Integer;
begin
Result := DefaultInterface.TraceLevel;
end;

procedure TConnectionProperties.Set_TraceLevel(Value: Integer);
begin
DefaultInterface.TraceLevel := Value;
end;

function TConnectionProperties.Get_ConnectionHandle: Integer;
begin
Result := DefaultInterface.ConnectionHandle;
end;

procedure TConnectionProperties.Set_ConnectionHandle(Value: Integer);
begin
DefaultInterface.ConnectionHandle := Value;
end;

function TConnectionProperties.Get_SAPRouter: WideString;
begin
Result := DefaultInterface.SAPRouter;
end;

procedure TConnectionProperties.Set_SAPRouter(const Value: WideString);
begin
DefaultInterface.SAPRouter := Value;
end;

function TConnectionProperties.Get_Parent: IDispatch;
begin
Result := DefaultInterface.Parent;
end;

procedure TConnectionProperties.Set_Parent(const Value: IDispatch);
begin
DefaultInterface.Parent := Value;
end;

function TConnectionProperties.Get_MessageServer: WideString;
begin
Result := DefaultInterface.MessageServer;
end;

procedure TConnectionProperties.Set_MessageServer(const Value: WideString);
begin
DefaultInterface.MessageServer := Value;
end;

function TConnectionProperties.Get_SystemNumber: Integer;
begin
Result := DefaultInterface.SystemNumber;
end;

procedure TConnectionProperties.Set_SystemNumber(Value: Integer);
begin
DefaultInterface.SystemNumber := Value;
end;

function TConnectionProperties.Get_SAPRelease: WideString;
begin
Result := DefaultInterface.SAPRelease;
end;

procedure TConnectionProperties.Set_SAPRelease(const Value: WideString);
begin
DefaultInterface.SAPRelease := Value;
end;

function TConnectionProperties.Get_ApplicationServer: WideString;
begin
Result := DefaultInterface.ApplicationServer;
end;

procedure TConnectionProperties.Set_ApplicationServer(const Value: WideString);
begin
DefaultInterface.ApplicationServer := Value;
end;

function TConnectionProperties.Get_IsConnected: CRfcConnectionStatus;
begin
Result := DefaultInterface.IsConnected;
end;

procedure TConnectionProperties.Set_IsConnected(Value: CRfcConnectionStatus);
begin
DefaultInterface.IsConnected := Value;
end;

function TConnectionProperties.Get_Password: WideString;
begin
Result := DefaultInterface.Password;
end;

procedure TConnectionProperties.Set_Password(const Value: WideString);
begin
DefaultInterface.Password := Value;
end;

function TConnectionProperties.Get_RfcWithDialog: Integer;
begin
Result := DefaultInterface.RfcWithDialog;
end;

procedure TConnectionProperties.Set_RfcWithDialog(Value: Integer);
begin
DefaultInterface.RfcWithDialog := Value;
end;

function TConnectionProperties.Get_GroupSelection: WordBool;
begin
Result := DefaultInterface.GroupSelection;
end;

procedure TConnectionProperties.Set_GroupSelection(Value: WordBool);
begin
DefaultInterface.GroupSelection := Value;
end;

function TConnectionProperties.Get_UseSAPRFCIni: WordBool;
begin
Result := DefaultInterface.UseSAPRFCIni;
end;

procedure TConnectionProperties.Set_UseSAPRFCIni(Value: WordBool);
begin
DefaultInterface.UseSAPRFCIni := Value;
end;

function TConnectionProperties.Get_UseSAPLogonIni: WordBool;
begin
Result := DefaultInterface.UseSAPLogonIni;
end;

procedure TConnectionProperties.Set_UseSAPLogonIni(Value: WordBool);
begin
DefaultInterface.UseSAPLogonIni := Value;
end;

function TConnectionProperties.Get_ABAPDebug: WordBool;
begin
Result := DefaultInterface.ABAPDebug;
end;

procedure TConnectionProperties.Set_ABAPDebug(Value: WordBool);
begin
DefaultInterface.ABAPDebug := Value;
end;

function TConnectionProperties.Get_GRTData: WideString;
begin
Result := DefaultInterface.GRTData;
end;

procedure TConnectionProperties.Set_GRTData(const Value: WideString);
begin
DefaultInterface.GRTData := Value;
end;

function TConnectionProperties.Get_SystemID: WideString;
begin
Result := DefaultInterface.SystemID;
end;

procedure TConnectionProperties.Set_SystemID(const Value: WideString);
begin
DefaultInterface.SystemID := Value;
end;

{$ENDIF}

procedure Register;
begin
RegisterComponents('ActiveX',[TSAPLogonControl]);
RegisterComponents(dtlServerPage, [TConnection]);
end;

end.
 

易名烦

Unregistered / Unconfirmed
GUEST, unregistred user!
完了完了,要我分析,死飞了。
看来我要再学五百年了,得“向天再借五百年”。不知道他老人家借不借给我。
 

刘李子

Unregistered / Unconfirmed
GUEST, unregistred user!
一、枚举出所有的EDIT或MEMO,记住它们的窗口句柄

二、通过各EDIT或MEMO的坐标来确定它们与窗口句柄的一一对应关系,
用GETDC和GETBOUNDSRECT API

三、通过GETFOCUS API确定当前具有焦点的窗口,如果是前面枚举的EDIT或MEMO,
则通过消息WM_SETTEXT向其发送预定文本。


13:19 2003-1-21
 
I

itren

Unregistered / Unconfirmed
GUEST, unregistred user!
welcom to mine
ftp://kydown.vicp.net/
user:dfw Pass:fast . 8:30 -17:00 Mon. - Fri.
 

易名烦

Unregistered / Unconfirmed
GUEST, unregistred user!
啥啊,来个实际一点的吧?
 
9

9861

Unregistered / Unconfirmed
GUEST, unregistred user!
你说的SAP 是不是著名的那个MIS?
我知道华晨集团马上就要上SAP了,到时我要去接受培训,但可能得1年后了...
 

易名烦

Unregistered / Unconfirmed
GUEST, unregistred user!

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
908
SUNSTONE的Delphi笔记
S
D
回复
0
查看
879
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部