AGB  ·  Datenschutz  ·  Impressum  







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

CreateOleObject und Guid

Ein Thema von franktron · begonnen am 4. Apr 2008 · letzter Beitrag vom 4. Apr 2008
Antwort Antwort
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

CreateOleObject und Guid

  Alt 4. Apr 2008, 16:42
Ich will die Slef32 DLL von Datev nutzen und habe auch schon die TLib importiert.

Jetzt will ich Mit CreateOleObject ein ISELFWrite Object erstellen aber das geht nicht.

Ich habe nur die GUI {3E2C9364-7229-11D2-849D-0000F65A3DCB}

Kann mir jemand helfen.

Delphi-Quellcode:
ISELFWrite = interface(IDispatch)
    ['{3E2C9364-7229-11D2-849D-0000F65A3DCB}']

FDatevWrite:=CreateOleObject('ISELFWrite') as ISELFWrite;
FDatevWrite ist ISELFWrite

Es kommt immer der Fehler ungültiger Zeichenstring.

Was mach ich falsch.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
shmia

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

Re: CreateOleObject und Guid

  Alt 4. Apr 2008, 17:40
Die ProgId besteht immer aus mindestens 2 Teilen:
Beispiel:
Delphi-Quellcode:
word := CreateOleObject('Word.Application'); // Application Objekt von WinWord
wb := CreateOleObject('Excel.Workbook'); // neues Workbook von Excel öffnen
Optional kann man noch zusätzlich eine Version angeben (Word.Application.7).

http://support.microsoft.com/kb/183771/en-us
Andreas
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

Re: CreateOleObject und Guid

  Alt 4. Apr 2008, 19:02
Weis denn einer wie der String bei SELF32.dll aussehen muss für SelfWrite
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
shmia

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

Re: CreateOleObject und Guid

  Alt 4. Apr 2008, 19:16
Wenn du die TLB schon importiert hast, brauchst du doch nicht CreateOleObject() verwenden.
Öffne die Unit xxxx_TLB.pas und gehe ganz ans Ende.
Dort findet sich Code wie folgendes Beispiel:
Delphi-Quellcode:
class function CoMoney.Create: IMoney;
begin
  Result := CreateComObject(CLASS_Money) as IMoney;
end;
Um bei dem Beispiel zu bleiben, müsste man hier schreiben:
Delphi-Quellcode:
var
  money_object : IMoney;
begin
  money_object := CoMoney.Create; // das war's schon
Jetzt musst du nur noch schauen, welcher Aufruf zu deinem Interface ISELFWrite passt.
Wenn du nichts passendes findest, liegt das daran, dass du zuerst ein anderes Objekt erzeugen musst, um an das Interface ranzukommen.
Wenn alle Stricke reisen, dann kannst du die TLB-Datei gezippt hier im Forum posten.

schönes Wochenende; ich bin wech
Andreas
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

Re: CreateOleObject und Guid

  Alt 4. Apr 2008, 19:21
Danke dafür sind die also da.
Hab mich schon gewundert was die da tun.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  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 22:55 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