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