AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SAP RFC über librfc32.dll

Ein Thema von -=ZGD=- · begonnen am 24. Nov 2011 · letzter Beitrag vom 25. Nov 2011
Antwort Antwort
-=ZGD=-

Registriert seit: 25. Apr 2006
Ort: Bad Aibling
105 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

SAP RFC über librfc32.dll

  Alt 24. Nov 2011, 16:10
Moin moin.

Nach Jahren mal wieder ein Posting.

Wir sitzen gerade an einem tollen Problem: Zugriff auf SAP über die librfc32.dll (neueste Version aus dem Marketplace).

Unser Handle ist immer 0, Fehlermeldung gibt es auch nicht. Wir sind mit dem Latein am Ende oder einfach nur blind

Gibt es bei der Deklaration einen Fehler?

Delphi-Quellcode:
unit main;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  Tfrm_main = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    myConStr: PCHAR;
  public
    { Public-Deklarationen }
  end;

type
    PRfcErrorInfoEx = ^TRfcErrorInfoEx;
    TRfcErrorInfoEx = record
      group : integer;
      key : array[0..32] of char;
      amessage : array[0..512] of char;
    end;

function RfcOpenEx(ConString: PCHAR; RFC_ERROR: PRfcErrorInfoEx): THandle; stdcall; external 'D:\_Entwicklung\SAPmitLIBRFC32_App\Win32\Debug\librfc32.dll';

var
  frm_main: Tfrm_main;


implementation

{$R *.dfm}



procedure Tfrm_main.Button1Click(Sender: TObject);
var myHandle: Long;
    data: PRfcErrorInfoEx;
    myError: TRfcErrorInfoEx;
    blubb: integer;
begin
 myConStr:= 'ASHOST=1xxx SYSNR=0 CLIENT=xxx USER=xxx PASSWD=sxxx LANG=DE';
 myHandle:= rfcOpenEx(pchar(myConStr), @myError);
 blubb:= myError.group;
end;

end.
Über Hilfe wären wir sehr froh,

Die zwei Verzweifelten.

Crossposting: http://www.delphi-forum.de/viewtopic...=654774#654774

Entwicklungssystem:

Windows 7 Ultimate x64, neuester Stand
Delphi XE2 Professional, neuester Stand
Stefan Michalk

Geändert von -=ZGD=- (24. Nov 2011 um 16:19 Uhr) Grund: Crossposting hinzugefügt
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#2

AW: SAP RFC über librfc32.dll

  Alt 24. Nov 2011, 18:23
Hast du es mal mit PAnsiChar versucht ?
Dazu ist myConStr sowieso schon ein PChar, warum machst du da nochmal einen PChar raus ?
Glückauf

Geändert von guinnes (24. Nov 2011 um 18:26 Uhr)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

AW: SAP RFC über librfc32.dll

  Alt 24. Nov 2011, 18:56
Es gibt oberhalb der LibRfc32.dll auch noch ActiveX DLLs, die die Arbeit mit SAP RFCs kräftig vereinfachen.
Code:
SAP Logon Control (wdtlog.ocx)
SAP Remote Function Call Control (wdtfuncs.ocx)
SAP Table Factory (wdtaocx.ocx)
Andreas
  Mit Zitat antworten Zitat
-=ZGD=-

Registriert seit: 25. Apr 2006
Ort: Bad Aibling
105 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: SAP RFC über librfc32.dll

  Alt 25. Nov 2011, 07:48
Guten Morgen,

nach ein bisschen Herumspielen ist der Kollege zum Ergebnis gekommen (in VB.NET), dass die Deklaration des TRFCERRORINFOEX extrem wichtig ist.

In Delphi sieht es nun so aus:

Delphi-Quellcode:
type
    PRfcErrorInfoEx = ^TRfcErrorInfoEx;
    TRfcErrorInfoEx = record
      group : Integer;
      key : array[0..32] of AnsiChar;
      amessage: array[0..512] of AnsiChar;
    end;
Jetzt ist die Fehlermeldung wunderbar lesbar, alle Zeichen, die nicht belegt sind, haben #0. Bin zufrieden.
Zwar ist das Handle weiterhin 0, aber das packen wir auch noch.

ActiveX kommt für uns (leider) nicht in Frage.

Danke für eure Hilfe!!

Gruß
Stefan

Edit: Ein Problem scheint auch die DLL-Version darzustellen. Mit der angehängten DLL bekomm ich zumindest dies hier zurück

Code:
  GROUP: 101
    KEY: RFC_ERROR_PROGRAM
MESSAGE:
 HANDLE: 1
Rausfinden, was RFC_ERROR_PROGRAM zu bedeuten hat und weiter geht´s...ich werde ausführlich berichten
Angehängte Dateien
Dateityp: 7z librfc32.7z (824,1 KB, 54x aufgerufen)
Stefan Michalk

Geändert von -=ZGD=- (25. Nov 2011 um 09:48 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz