AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Typlib import

Ein Thema von steppo · begonnen am 20. Mär 2007 · letzter Beitrag vom 20. Mär 2007
Antwort Antwort
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Typlib import

  Alt 20. Mär 2007, 12:13
Hallo zusammen,

gehe ich recht in der Annahme, dass hier beim Import etwas schief gelaufen ist?

OLE/COM Viewer:

[
odl,
uuid(A80DEA53-B6BA-11D3-B3AC-00104B066E1A),
helpstring("IWMFileIO Interface"),
dual,
oleautomation
]
interface IWMFileIO : IDispatch {
[id(0x00000001), helpstring("method ExportOriginal")]
HRESULT ExportOriginal([in] VARIANT_BOOL fOverwrite);
[id(0x00000002), helpstring("method ImportOriginal")]
HRESULT ImportOriginal([in] VARIANT_BOOL fOverwrite);
[id(0x00000003), propget, helpstring("property aWMStream")]
HRESULT aWMStream([out, retval] IWMStream** ppIWMStream);
[id(0x00000003), propput, helpstring("property aWMStream")]
HRESULT aWMStream([in] IWMStream* ppIWMStream);
[id(0x00000003), propputref, helpstring("property aWMStream")]
HRESULT aWMStream([in] IWMStream* ppIWMStream);
[id(0x00000004), propget, helpstring("property bstrOriginalFileName")]
HRESULT bstrOriginalFileName([out, retval] BSTR* pVal);
[id(0x00000004), propput, helpstring("property bstrOriginalFileName")]
HRESULT bstrOriginalFileName([in] BSTR pVal);
[id(0x00000005), propget, helpstring("property aChunkSize")]
HRESULT aChunkSize([out, retval] long* pVal);
[id(0x00000005), propput, helpstring("property aChunkSize")]
HRESULT aChunkSize([in] long pVal);
[id(0x00000006), propget, hidden, helpstring("property aWMStreamEx")]
HRESULT aWMStreamEx([out, retval] IWMStreamEx** ppIWMStreamEx);
[id(0x00000006), propput, hidden, helpstring("property aWMStreamEx")]
HRESULT aWMStreamEx([in] IWMStreamEx* ppIWMStreamEx);
[id(0x00000006), propputref, hidden, helpstring("property aWMStreamEx")]
HRESULT aWMStreamEx([in] IWMStreamEx* ppIWMStreamEx);
};

Angelegte Unit in Delphi:

Delphi-Quellcode:
// *********************************************************************//
// Schnittstelle: IWMFileIO
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {A80DEA53-B6BA-11D3-B3AC-00104B066E1A}
// *********************************************************************//
  IWMFileIO = interface(IDispatch)
    ['{A80DEA53-B6BA-11D3-B3AC-00104B066E1A}']
    procedure ExportOriginal(fOverwrite: WordBool); safecall;
    procedure ImportOriginal(fOverwrite: WordBool); safecall;
    function Get_aWMStream: IWMFileStream; safecall;
    procedure Set_aWMStream(const ppIWMStream: IWMFileStream); safecall;
    procedure _Set_aWMStream(const ppIWMStream: IWMFileStream); safecall;
    function Get_bstrOriginalFileName: WideString; safecall;
    procedure Set_bstrOriginalFileName(const pVal: WideString); safecall;
    function Get_aChunkSize: Integer; safecall;
    procedure Set_aChunkSize(pVal: Integer); safecall;
    function Get_aWMStreamEx: IWMStreamEx; safecall;
    procedure Set_aWMStreamEx(const ppIWMStreamEx: IWMStreamEx); safecall;
    procedure _Set_aWMStreamEx(const ppIWMStreamEx: IWMStreamEx); safecall;
    property aWMStream: IWMFileStream read Get_aWMStream write Set_aWMStream;
    property bstrOriginalFileName: WideString read Get_bstrOriginalFileName write Set_bstrOriginalFileName;
    property aChunkSize: Integer read Get_aChunkSize write Set_aChunkSize;
    property aWMStreamEx: IWMStreamEx read Get_aWMStreamEx write Set_aWMStreamEx;
  end;
Wie kann ich dieses Problem beheben?
Gruß Steppo
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Typlib import

  Alt 20. Mär 2007, 12:31
Zitat von steppo:
gehe ich recht in der Annahme, dass hier beim Import etwas schief gelaufen ist?
Wie kann ich dieses Problem beheben?
Welches Problem ?? Bitte konkret angeben, was du erwartest und was du stattdessen bekommen hast.
Für mich sieht die Übersetzung absolut korrekt aus. (Wobei ein Mensch nicht alle Methoden und Properties in kurzer Zeit kontrollieren kann; das geht nur Stichprobenartig)
Andreas
  Mit Zitat antworten Zitat
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

Re: Typlib import

  Alt 20. Mär 2007, 12:36
Die Eigenschaft aWMStream sollte eigentlich vom Typ IWMStream und nicht von Typ IWMFileStream sein.
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Typlib import

  Alt 20. Mär 2007, 12:50
Zitat von steppo:
Die Eigenschaft aWMStream sollte eigentlich vom Typ IWMStream und nicht von Typ IWMFileStream sein.
Ok, das sieht wirklich nicht richtig aus.
Es kommt nun auch auf deine Delphi Version an.
Alles unterhalb von D 5.02 muss man in Bezug auf den TLB Import als fehlerhaft betrachten.
Du könntest die falsch importierte xxx_TLB.pas auch von Hand korrigieren. Dabei sollte man alle korrigierten Zeilen zusätzlich in einer separaten Textdatei aufbewaren, da die Unit ja jederzeit von Delphi überschrieben werden könnte.
Andreas
  Mit Zitat antworten Zitat
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Typlib import

  Alt 20. Mär 2007, 12:54
Entschuldige, habe vergessen die Version der Entwicklungsumgebung anzugeben. Ich arbeite mit Delphi 6 Enterprise. Auch ein löschen der TLB und ein erneuter Import brachten das gleiche Ergebnis.

Wie gehe ich nun am besten Vor?

Gruß Steppo
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: Typlib import

  Alt 20. Mär 2007, 13:05
Zitat von steppo:
Entschuldige, habe vergessen die Version der Entwicklungsumgebung anzugeben. Ich arbeite mit Delphi 6 Enterprise.
Das kannst du übbirgens auch in deinem DP Profil hinterlegen.
Zitat von steppo:
Wie gehe ich nun am besten Vor?
Zwei Möglichkeiten:
1.) IWMFileStream durch IWMStream in der Unit xxx_TLB.PAS von Hand ersetzen
2.) property aWMStream nicht benützen. Stattdessen nur property aWMStreamEx benützen. So wird das Problem umgangen.
Andreas
  Mit Zitat antworten Zitat
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

Re: Typlib import

  Alt 20. Mär 2007, 13:09
Herzlichen Dank shmia

Gruß Steppo
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:00 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