Einzelnen Beitrag anzeigen

MrZweig

Registriert seit: 5. Mär 2004
13 Beiträge
 
Delphi 6 Professional
 
#49

Re: Klasse nicht registriert (eBAY API SDK)

  Alt 6. Mär 2004, 12:49
Hallo zusammen,

ich nutze seit einiger Zeit schon die API per PHP um
die Kaeufer meiner Auktionen zu ermitteln un in eine
Datenbank zu "schubsen".

Ich finde den Ansatz, dies per Delphi zu machen nun
recht interessant, weil ich mit Delphi auf einfache Weise
eine Vielzahl mehr Schnittstellen ansprechen kann. Das
faengt beim automatisierten Drucken von Rechnungen an
und hoert beim Zusammenfassen verschiedenster Datenquellen auf.

Ich habe mir die eBay SDK wie hier und in den Readme's geschrieben
installiert. Auch das .NET SDK habe ich erst als Version 1.0, und
dann als Version 1.1 installiert, um die in 1.1 abgeschafften Kommandozeilen
Tools gacutils.exe etc. zu erhalten.

Die RegSDK.bat lief problemlos durch und registrierte brav.
Das Paket von scp liess sich problemlos (bis auf diese eine Kompilerdirektive)
problem kompilieren und installieren. Ich habe nun eine Palette mit saemtlichen
API-Calls.

Das Beispielprogramm von scp haengt bei mir ebenfalls an der Stelle an
der ich der iApiSession- Klasse das Property "Developer" zuweise:

zB:
Delphi-Quellcode:
  ApiSession := CoApiSession.Create;
  ApiSession.Developer := JvEdit1.Text;
Ich erhalte die Fehlermeldung:

"... raised exception class EOleSysError with message "Klasse nicht registriert"

Es liess mich vermuten das vielleicht meine Imports nicht richtig uebernommen
wurden - auf der Suche nach der Deklaration zu der Property "Developer" bin ich
aber IMHO auf die richtige (das heisst lese- und schreibfaehige) .pas gestossen.
Auszug:
Delphi-Quellcode:
    property Developer: WideString read Get_Developer write Set_Developer;
..
procedure TGetAPIAccessRulesCall.Set_Developer(const pRetVal: WideString);
  { Warnung: Die Eigenschaft Developer hat eine Zuweisungs- und eine Zugriffsmethode, deren
  Typen nicht übereinstimmen. Delphi konnte keine Eigenschaft dieser Art
  erzeugen. Daher wird eine Variante zum Setzen der Eigenschaft verwendet. }

var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Developer := pRetVal;
end;
Beschreibbar sollte die Eigenschaft also eigentlich sein.

Ich benutze Delphi6 Enterprise und waere fuer jeden Tip dankbar.

viele gruesse,
MrZweig aka Sascha
--
sup sup
  Mit Zitat antworten Zitat