AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi EOleException 'Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt'
Thema durchsuchen
Ansicht
Themen-Optionen

EOleException 'Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt'

Ein Thema von Raketenschnitzel · begonnen am 28. Mai 2015 · letzter Beitrag vom 30. Mai 2015
 
Raketenschnitzel

Registriert seit: 22. Jan 2015
4 Beiträge
 
#1

EOleException 'Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt'

  Alt 28. Mai 2015, 15:04
Hallo DelphiCoder,

ich hab ne DLL von einem Unternehmen, die leider dem Datenschutz unterliegt. Daher kann ich sie leider nicht posten.
Das Ding enthält ein COM Server und ich möchte Funktionen aufrufen.

Mein Problem:
Ich krieg ne Exception und hab nicht die geringste Ahnung, woran es liegt.
Wie debugge ich so ein Projekt? Hab die Quelldateien für die DLL des Unternehmens natürlich nicht da.
Die Exception ist auch merkwürdig, da der Pointer für MyExcelAddin ja existiert.
Hat jemand Ideen was ich machen kann, um weiterzukommen?

Mein Vorgehen:
1) Delphi > Komponenten > Komponente importieren (um mir ne Unit mit den entsprechenden Interfaces zu holen)
2) Objekt bauen und Pointer speichern (funktioniert)
3) Aufruf einiger einfacher Funktionen ohne Parameter mit Rückgabewerten String und PSafeArray (funktioniert)
4) Aufruf einer komplexeren Funktion mit Parametern
=> EOleException 'Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt'

Delphi-Quellcode:
MyExcelAddin := CoExcelAddin.Create; //s. Punkt 2
Memo1.Lines.Add(MyExcelAddin.GetVersionInfo); //s. Punkt 3
Fluidpointer := MyExcelAddin.GetAllFluids; //s. Punkt 3
if assigned(MyExcelAddin) then begin
    //hier kommt die Exception
    CalculationResult := MyExcelAddin.CalculateBPHE(Name, InData, FluidData, FluidData, 7, False); //s. Exception
end;
Hier noch die InterfaceDefinition, die ich für MyExcelAddin nutze und mittels Komponente importieren (s. Punkt 1) erstellt habe:
Delphi-Quellcode:
ISSPG7ExcelAddin = interface(IDispatch)
    ['{3904440C-92A7-49C8-B983-CD9F11764CDE}']
    function GetAllFluids: PSafeArray; safecall;
    function GetAllBPHE: PSafeArray; safecall;
    function GetAllModelsWithRestrictionSummary: PSafeArray; safecall;
    function CalculateBPHE(const CalculationName: WideString; const strIndata: WideString;
                           const strFluidSide1: WideString; const strFluidside2: WideString;
                           MaxNoResults: Integer; bLocalizationSettings: WordBool): PSafeArray; safecall;
    function CalculateApplication(const CalculationName: WideString;
                                  const strRadiatordata: WideString;
                                  const strTwoStagedata: WideString;
                                  const strFluidSide1: WideString; const strFluidside2: WideString;
                                  const strFluidSide3: WideString; MaxNoResults: Integer;
                                  AutoPerformance: WordBool; bLocalizationSettings: WordBool): PSafeArray; safecall;
    function GetVersionInfo: WideString; safecall;
  end;

Geändert von Raketenschnitzel (28. Mai 2015 um 15:23 Uhr)
  Mit Zitat antworten Zitat
 


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 15:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz