AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Prism Objektverweis wurde nicht auf eine Objektinstanz festgelegt

Objektverweis wurde nicht auf eine Objektinstanz festgelegt

Ein Thema von ueding · begonnen am 16. Jan 2006 · letzter Beitrag vom 23. Jan 2006
Antwort Antwort
ueding

Registriert seit: 21. Aug 2005
30 Beiträge
 
Delphi 10.4 Sydney
 
#1

Objektverweis wurde nicht auf eine Objektinstanz festgelegt

  Alt 16. Jan 2006, 07:48
Hallo
ich Arbeite mit dem eBay SDK-Kit und habe ein Problem beim abfragen von eingestellten Artikeln.


Delphi-Quellcode:
var
I : Integer;
itemt : Itemtype;
s : string;
s1 : string;
s2 : string;

function Tform1.....
begin
itemt := itemtype.Create;
.
.
.

s := itemt.ItemID;
s1 := itemt.Title;
s2 := itemt.SubTitle;
.
.
.

i := itemt.ShippingDetails.ShippingServiceOptions.Count;
.
.
wenn die letzte Zeile ausgeführt wird kommt die Fehlermeldung

Objektverweis wurde nicht auf eine Objektinstanz festgelegt

kann mir jemand weiterhelfen wo ich den Fehler suchen muss?
Ich habe auch schon gegoogelt, es giebt eine Menge Antworten aber die beziehen sich leider nicht auf Delphi.

Danke schonmal

Gregor
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Objektverweis wurde nicht auf eine Objektinstanz festgel

  Alt 16. Jan 2006, 08:07
Das ist die StiNo Read AV in .Net und wie du sicher schon bemerkt hast, zeigt irgendeine deiner Variablen auf nil.
Könntest du vllt ein kompilierbares Beispiel (kein Form, einfach nur eine Methode/Klasse...) und die url des WSDLs zeigen? Dann wären die Chancen wesentlich höher, dass dir jemand helfen kann.
Robert Giesecke
  Mit Zitat antworten Zitat
ZeroQool007

Registriert seit: 30. Aug 2004
127 Beiträge
 
#3

Re: Objektverweis wurde nicht auf eine Objektinstanz festgel

  Alt 19. Jan 2006, 14:03
Hallo, habe auch ein ähnliches Problem. Bekomme die selber Fehlermeldung

Delphi-Quellcode:
unit WinForm1;

interface

uses
  System.Drawing, System.Collections, System.ComponentModel,
  System.Windows.Forms, System.Data,
  TecCom,
  TecCom.OpenMessaging,
  TecCom.OpenMessaging.dto,
  TecCom.OpenMessaging.Caller,
  //TecCom.OpenMessaging.order,
  TecCom.OpenMessaging.Order.TXML.V4_1.Order,
  TecCom.OpenMessaging.Order.TXML.V4_1.Common,
  TecCom.OpenMessaging.Warranty,
  TecCom.OpenMessaging.localhost,
  SysUtils
;

type
  TWinForm1 = class(System.Windows.Forms.Form)
  {$REGION 'Vom Designer verwalteter Code'}
  strict private
    /// <summary>
    /// Erforderliche Designervariable.
    /// </summary>
    Components: System.ComponentModel.Container;
    Button1: System.Windows.Forms.Button;
    RichTextBox1: System.Windows.Forms.RichTextBox;
    /// <summary>
    /// Erforderliche Methode zur Unterstützung des Designers -
    /// ändern Sie die Methode nicht mit dem Quelltext-Editor
    /// </summary>
    procedure InitializeComponent;
    procedure Button1_Click(sender: System.Object; e: System.EventArgs);
  {$ENDREGION}
  strict protected
    /// <summary>
    /// Ressourcen nach der Verwendung bereinigen
    /// </summary>
    procedure Dispose(Disposing: Boolean); override;
  private
    { Private-Deklarationen }
    order : TxmlOrder;
    oi : Array[0..1] of OrderItemType;
    pn : Array of ProductName;
    fc : FunctionCaller;
    fcr : FunctionCallRequest;
    pd : Array of ParameterData;
    resp : FunctionCallResponse;
    OrderResponse : TxmlOrdRsp;
  public
    constructor Create;
  end;

  [assembly: RuntimeRequiredAttribute(TypeOf(TWinForm1))]

implementation

{$AUTOBOX ON}

{$REGION 'Vom Windows Form-Designer erzeugter Code'}
/// <summary>
/// Erforderliche Methode zur Unterstützung des Designers --
/// ändern Sie die Methode nicht mit dem Quelltext-Editor
/// </summary>
procedure TWinForm1.InitializeComponent;
begin
  Self.Button1 := System.Windows.Forms.Button.Create;
  Self.RichTextBox1 := System.Windows.Forms.RichTextBox.Create;
  Self.SuspendLayout;
  //
  // Button1
  //
  Self.Button1.Location := System.Drawing.Point.Create(88, 232);
  Self.Button1.Name := 'Button1';
  Self.Button1.TabIndex := 0;
  Self.Button1.Text := 'Button1';
  Include(Self.Button1.Click, Self.Button1_Click);
  //
  // RichTextBox1
  //
  Self.RichTextBox1.Location := System.Drawing.Point.Create(64, 64);
  Self.RichTextBox1.Name := 'RichTextBox1';
  Self.RichTextBox1.TabIndex := 1;
  Self.RichTextBox1.Text := 'RichTextBox1';
  //
  // TWinForm1
  //
  Self.AutoScaleBaseSize := System.Drawing.Size.Create(5, 13);
  Self.ClientSize := System.Drawing.Size.Create(292, 273);
  Self.Controls.Add(Self.RichTextBox1);
  Self.Controls.Add(Self.Button1);
  Self.Name := 'TWinForm1';
  Self.Text := 'WinForm1';
  Self.ResumeLayout(False);
end;
{$ENDREGION}

procedure TWinForm1.Dispose(Disposing: Boolean);
begin
  if Disposing then
  begin
    if Components <> nil then
      Components.Dispose();
  end;
  inherited Dispose(Disposing);
end;

constructor TWinForm1.Create;
begin
  inherited Create;
  //
  // Erforderlich für die Unterstützung des Windows Forms-Designers
  //
  InitializeComponent;
  //
  // TODO: Fügen Sie nach dem Aufruf von InitializeComponent Konstruktorcode hinzu.
  //
end;

procedure TWinForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
var
  TempAnfrage : String;
  TempAntwort : String;
  AnzahlAntworten : Integer;
begin
  order.OrderHeader.OrderType := OrderTypeIDs.Order;
  order.OrderHeader.OrderFunction := OrderFunctionTypes.Original;
  order.OrderHeader.BuyerParty.PartyNumber.Qualifier := TecCom.OpenMessaging.Order.TXML.V4_1.Common.PartyNumberTypeQualifiers.SupplierNumber;
  order.OrderHeader.BuyerParty.PartyNumber.PartyNumberValue := '4712';
  order.OrderHeader.SellerParty.PartyNumber.Qualifier := TecCom.OpenMessaging.Order.TXML.V4_1.Common.PartyNumberTypeQualifiers.BuyerNumber;
  order.OrderHeader.SellerParty.PartyNumber.PartyNumberValue := '32';
  order.OrderHeader.OrderIssueDate.DateValue.DateValue := now;
  order.OrderHeader.OrderProcessing.DispatchMode := DispatchModes.Normal;
  order.OrderHeader.Currency := 'EUR';
Der Fehler kommt allerdings nicht wenn ich

Delphi-Quellcode:
TecCom.OpenMessaging.Order.TXML.V4_1.Order.TxmlOrder.Create.OrderHeader.OrderType := TecCom.OpenMessaging.Order.TXML.V4_1.Order.OrderTypeIDs.Order;
  TecCom.OpenMessaging.Order.TXML.V4_1.Order.TxmlOrder.Create.OrderHeader.OrderFunction := TecCom.OpenMessaging.Order.TXML.V4_1.Order.OrderFunctionTypes.Original;
  TecCom.OpenMessaging.Order.TXML.V4_1.Order.TxmlOrder.Create.OrderHeader.BuyerParty.PartyNumber.Qualifier := TecCom.OpenMessaging.Order.TXML.V4_1.Common.PartyNumberTypeQualifiers.SupplierNumber;
  TecCom.OpenMessaging.Order.TXML.V4_1.Order.TxmlOrder.Create.OrderHeader.BuyerParty.PartyNumber.PartyNumberValue := '4712';
  TecCom.OpenMessaging.Order.TXML.V4_1.Order.TxmlOrder.Create.OrderHeader.SellerParty.PartyNumber.Qualifier := TecCom.OpenMessaging.Order.TXML.V4_1.Common.PartyNumberTypeQualifiers.BuyerNumber;
  TecCom.OpenMessaging.Order.TXML.V4_1.Order.TxmlOrder.Create.OrderHeader.SellerParty.PartyNumber.PartyNumberValue := '32';
  TecCom.OpenMessaging.Order.TXML.V4_1.Order.TxmlOrder.Create.OrderHeader.OrderIssueDate.DateValue.DateValue := now;
  TecCom.OpenMessaging.Order.TXML.V4_1.Order.TxmlOrder.Create.OrderHeader.OrderProcessing.DispatchMode := TecCom.OpenMessaging.Order.TXML.V4_1.Order.DispatchModes.Normal;
  TecCom.OpenMessaging.Order.TXML.V4_1.Order.TxmlOrder.Create.OrderHeader.Currency := 'EUR';
mache. Aber ich muss es nach der ersten Methode machen, weil ich die Array Felder mit der Klasse brauche....es sei denn jemand hat eine bessere Lösung....big thx
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: Objektverweis wurde nicht auf eine Objektinstanz festgel

  Alt 19. Jan 2006, 14:17
Nun, du solltest order auch irgendwo instanziieren .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
ZeroQool007

Registriert seit: 30. Aug 2004
127 Beiträge
 
#5

Re: Objektverweis wurde nicht auf eine Objektinstanz festgel

  Alt 19. Jan 2006, 14:22
was meinst du genau mit
Zitat:
instanziieren
...sorry für die dumme Frage...ist kurz vor dem WE u ich peile in der Firma gar nichts mehr! =)


edt.

habs schon! =) order := TxmlOrder.Create;
so feierabend für heute....have a nice weekend



edt2

zu früh gefreut.... wie instanziiere ich denn
Delphi-Quellcode:
    oi : Array[0..1] of OrderItemType;
    pn : Array of ProductName;
danke
  Mit Zitat antworten Zitat
ZeroQool007

Registriert seit: 30. Aug 2004
127 Beiträge
 
#6

Re: Objektverweis wurde nicht auf eine Objektinstanz festgel

  Alt 23. Jan 2006, 07:08
Hmmm....kann mir keiner helfen?!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:47 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