Mailinglisten-Archive |
Hallo, ich habe Code in Visual Basic 6 um über eine COM-Schnittstelle mit einem Programm zu kommunizieren. Leider habe ich keine Ahnung von VB6 und damit Probleme dies in PHP umzusetzen. Kennt sich jemand damit aus und kann mir einer von Euch ein paar Tips geben? VB Code: ----------- Dim Se As New DiamantSession Dim OK As Boolean OK = Se.Load("") Se.GetField("User").SetValue("SUP") Se.GetField("Password").SetValue("") Se.GetField("DatabaseServer").SetValue("server1") Se.GetField("Company").SetValue("026") Se.GetField("SystemDatabase").SetValue("System") Se.GetField("DataSource").SetValue("sasqlsrv.dll") OK = Se.Save() Dim Customer As New DiamantCustomer Customer.GetField("AccountNo").SetUsed(TRUE) Customer.GetField("Designation").SetUsed(TRUE) OK = Customer.Load("10005") MsgBox (Customer.GetField("AccountNo").GetValue()) MsgBox (Customer.GetField("Designation").GetValue()) Mein Versuch in PHP: (Fehlermeldungen siehe unten) ------------------------- <? $dia = new COM("DiamantSession") or die ("Keine Verbindung"); $ok = $dia->load(""); $ok->User = "SUP"; $ok->Password = ""; $ok->DatabaseServer = "diamant"; $ok->Company = "999"; $ok->SystemDatabase = "sasystem"; $ok->DataSource = "saoracle.dll"; $ok = $dia->save(); // Bis hierher gibt es keine Fehlermeldung, aber dann ... // Wie setzte ich den VB Code um? $cust = new COM("DiamantCostumer"); $cust->GetField("AccountNo").SetUsed(TRUE); $cust->GetField("Designation").SetUsed(TRUE); $ok = $cust->Load("10005"); $nummer = $cust->GetField("AccountNo").GetValue(); $designation = $cust->GetField("Designation").GetValue(); print "Nummer: $nummer Des: $designation"; ?> Erzeugte Fehlermeldungen: -------------------------------- Warning: Invalid ProgID, GUID string, or Moniker: Ungültige Syntax in c:\daten\web\test\com.php on line 14 Fatal error: Call to a member function on a non-object in c:\daten\web\test\com.php on line 16 Gruss Ron Opitz
php::bar PHP Wiki - Listenarchive