![]() |
Funktion aus ActiveX verwenden
Hallo,
ich möcht eine Funktion des MWS Reader 4 verwenden. Das ActiveX-Control schaut so aus:
Delphi-Quellcode:
Nur hab ich jetzt das Problem, dass ich die "SendString"-Funktion nicht verwenden.
unit MWSReader4_TLB;
// ************************************************************************ // // WARNUNG // ------- // Die in dieser Datei deklarierten Typen wurden aus Daten einer Typbibliothek // generiert. Wenn diese Typbibliothek explizit oder indirekt (über eine // andere Typbibliothek) reimportiert wird oder wenn die Anweisung // 'Aktualisieren' im Typbibliotheks-Editor während des Bearbeitens der // Typbibliothek aktiviert ist, wird der Inhalt dieser Datei neu generiert und // alle manuell vorgenommenen Änderungen gehen verloren. // ************************************************************************ // // PASTLWTR : 1.2 // Datei generiert am 13.06.2007 21:31:12 aus der unten beschriebenen Typbibliothek. // ************************************************************************ // // Typbib: C:\Programme\MWS Reader 4\mwsr4.ocx (1) // LIBID: {422BFDC4-5760-4AD5-A84A-EFF408FF5639} // LCID: 0 // Hilfedatei: // Hilfe-String: MWS Reader 4 // DepndLst: // (1) v2.0 stdole, (C:\WINDOWS\system32\stdole2.tlb) // ************************************************************************ // {$TYPEDADDRESS OFF} // Unit muß ohne Typüberprüfung für Zeiger compiliert werden. {$WARN SYMBOL_PLATFORM OFF} {$WRITEABLECONST ON} {$VARPROPSETTER ON} interface uses Windows, ActiveX, Classes, Graphics, OleCtrls, OleServer, StdVCL, Variants; // *********************************************************************// // In dieser Typbibliothek deklarierte GUIDS . Es werden folgende // Präfixe verwendet: // Typbibliotheken : LIBID_xxxx // CoClasses : CLASS_xxxx // DISPInterfaces : DIID_xxxx // Nicht-DISP-Schnittstellen: IID_xxxx // *********************************************************************// const // Haupt- und Nebenversionen der Typbibliothek MWSReader4MajorVersion = 1; MWSReader4MinorVersion = 0; LIBID_MWSReader4: TGUID = '{422BFDC4-5760-4AD5-A84A-EFF408FF5639}'; IID__SendString: TGUID = '{1B9A00ED-48E9-484B-93AA-F9B4CA08D10C}'; DIID___SendString: TGUID = '{8740BD71-F829-4968-9BB9-B05520040384}'; CLASS_SendString: TGUID = '{0A53FDBA-2FF3-4DF5-968E-47ADC5A7A7E0}'; type // *********************************************************************// // Forward-Deklaration von in der Typbibliothek definierten Typen // *********************************************************************// _SendString = interface; _SendStringDisp = dispinterface; __SendString = dispinterface; // *********************************************************************// // Deklaration von in der Typbibliothek definierten CoClasses // (HINWEIS: Hier wird jede CoClass zu ihrer Standardschnittstelle // zugewiesen) // *********************************************************************// SendString = _SendString; // *********************************************************************// // Schnittstelle: _SendString // Flags: (4560) Hidden Dual NonExtensible OleAutomation Dispatchable // GUID: {1B9A00ED-48E9-484B-93AA-F9B4CA08D10C} // *********************************************************************// _SendString = interface(IDispatch) ['{1B9A00ED-48E9-484B-93AA-F9B4CA08D10C}'] function SendString(const Text: WideString): WordBool; safecall; end; // *********************************************************************// // DispIntf: _SendStringDisp // Flags: (4560) Hidden Dual NonExtensible OleAutomation Dispatchable // GUID: {1B9A00ED-48E9-484B-93AA-F9B4CA08D10C} // *********************************************************************// _SendStringDisp = dispinterface ['{1B9A00ED-48E9-484B-93AA-F9B4CA08D10C}'] function SendString(const Text: WideString): WordBool; dispid 1610809344; end; // *********************************************************************// // DispIntf: __SendString // Flags: (4240) Hidden NonExtensible Dispatchable // GUID: {8740BD71-F829-4968-9BB9-B05520040384} // *********************************************************************// __SendString = dispinterface ['{8740BD71-F829-4968-9BB9-B05520040384}'] end; implementation uses ComObj; end. Wenn ich z. B. die Funktion so aufrufe:
Delphi-Quellcode:
bekomm ich diese Meldung:
procedure TForm1.Button1Click(Sender: TObject);
begin SendString(Edit1.Text); end; Zitat:
|
Re: Funktion aus ActiveX verwenden
Es handelt sich ja nicht um eine (freie) Funktion, sondern um ein COM-Objekt mit einer gleichlautender Methode
|
Re: Funktion aus ActiveX verwenden
heisst das man kann sie nicht verwenden?
|
Re: Funktion aus ActiveX verwenden
Doch, aber nicht so, wie du es probiert hast.
|
Re: Funktion aus ActiveX verwenden
Zitat:
|
Re: Funktion aus ActiveX verwenden
So ähnlich
Delphi-Quellcode:
var
send: SendString; ... send := CLASS_SendString.Create; send.sendstring( ... |
Re: Funktion aus ActiveX verwenden
Leider hängts an dem Create
|
Re: Funktion aus ActiveX verwenden
Dann versuch es mal ohne Create
|
Re: Funktion aus ActiveX verwenden
Hier mal mein Code:
Delphi-Quellcode:
Aber bei "send := ClASS_SendString" erhalt ich folgende Meldung:
procedure TForm1.Button1Click(Sender: TObject);
var send: SendString; s: string; begin send := CLASS_SendString; s := edit1.Text; send.SendString(s); end; Zitat:
|
Re: Funktion aus ActiveX verwenden
Ich meinte die Zeile.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 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-2025 by Thomas Breitkreuz