Einzelnen Beitrag anzeigen

IAhh

Registriert seit: 19. Dez 2006
Ort: Bielefeld
1 Beiträge
 
#1

SAP Schnittstelle per librfc32.dll

  Alt 27. Nov 2007, 14:35
Hallo Forum!

Ich möchte einen Anwendung an SAP anbinden! Bisher habe ich RFCs aus Delphi heraus aufgerufen (RfcCallReceiveEx) und die Ergebnisse ausgewertet. Das scheint alles zu funktionieren.
Nun möchte/muss ich für SAP den Server spielen, d.h. Dienste anbietet die SAP bei mir aufrufen kann. Auch hierfür gibt es in der librfc32.dll ja einige Funktionen.

Zunächst rufe ich RfcAccept auf um meinen Server bei SAP zu registrieren. Klappt. Das zurück gegebene Handle merke ich mir.
Damit starte ich RfcDispatch und teste die Verbindung von SAP aus. Klappt.

Nach dem registrieren einer Funktion mit RfcInstallFunction und einem Aufruf dieser Funktion von SAP aus stürzte meine Anwendung mit Zugriffsverletzungen und der SAP-Meldung "Funktion XY nicht vorhanden" ab. Offensichtlich habe ich es nicht geschafft den Funktionszeiger richtig zu definieren... Oder so...!

Da mir dieser Weg also wie eine Sackgasse vorkam habe ich den anderen möglichen weg probieren wollen: Mit RfcListen oder RfcWaitForRequest auf eingehende Verbindungen lauschen und bei Bedarf mit RfcGetName den Namen der gerufenen Funktion zu ermitteln und den Rest selber zu handeln.
Und hier kommt mein momentanes Problem: Alle drei letztgenannten Funktionen sagen mir das übergebene Handle sei invalid:

<* RfcListen [1245064] : returns 18:RFC_INVALID_HANDLE

RfcDispatch akzeptiert das Handle und hat offensichtlich Verbindung zum SAP! Aber die anderen Funktionen mögen es nicht! Ist jemandem soetwas bekannt, oder hat jemand einen Vermutung?

Ich bin natürlich auch für vage Hinweise Dankbar!

Mfg,

IAhh
  Mit Zitat antworten Zitat