Google Groups unterstützt keine neuen Usenet-Beiträge oder ‑Abos mehr. Bisherige Inhalte sind weiterhin sichtbar.

VB OLE-Control laesst sich nicht importieren

0 Aufrufe
Direkt zur ersten ungelesenen Nachricht

Andreas Schmidt

ungelesen,
19.06.2002, 11:13:1519.06.02
an
Hallo NG,

ich habe ein OLE-Control von einem Kollegen erhalten,
das ich in Delphi 5.02 Prof. nicht benutzen kann.
Alle anderen Anwendungen wie z.B. WinWord, Access, IE, usw
haben kein Problem damit; nur Delphi :-(

Ich wähle Komponente->ActiveX installieren, wähle das
ActiveX Teil aus und drücke installieren.

Es wird allerdings kein Komponenten-Wrapper erzeugt,
wie das sonst der Fall ist.

Es sieht im Moment so aus, dass grundsätzlich jedes
mit VB 6 (SP 5) erstellte OLE-Control nicht mit Delphi 5
benutzt werden kann.
Und dass wäre doch sehr schade und blamabel für Borland.


Wer's mal probieren möchte, download:
http://www.tobilan.de/Projekt1.ocx (nur 20kB)
Es ist nur eine leeres Control mit einem festen Label darauf.


danke,
Andreas


Christian NineBerry Schwarz

ungelesen,
19.06.2002, 19:44:3719.06.02
an
Hallo Andreas

Andreas Schmidt schrieb:

> Es wird allerdings kein Komponenten-Wrapper erzeugt,
> wie das sonst der Fall ist.
>
> Es sieht im Moment so aus, dass grundsätzlich jedes
> mit VB 6 (SP 5) erstellte OLE-Control nicht mit Delphi 5
> benutzt werden kann.

Der Fehler liegt nicht bei Delphi, sondern bei Visual Basic. VB
vergisst nämlich in der Typbibliothek des Steuerelements das Flag
"TYPEFLAG_FCANCREATE" zu setzen.

Somit geht Delphi korrekterweise davon aus, dass keine direkt
erzeugbare Klasse zur Verfügung steht.

Du kannst das mit Hilfe des Typbibliotek-Editors von Delphi
nachträglich ändern:

Delphi 5 starten
Datei - öffnen - Als Filter "Typbibliothek"
Die *.ocx öffnen
Im TLB-Editor die Co-Klasse markieren
Im rechten Fenster unter "Flags" die Option "Kann erzeugt werden"
aktivieren
Datei - speichern unter
Als Dateiname XYZ.TLB eingeben.
Evt schon vorhandene aus den *.ocx erzeugte *.pas -Dateien löschen.
Über Projekt / Typbliothek importieren / Durchsuchen die XYZ.TLB
öffnen und das Steuerelement somit in der Komponentenpalette
registrieren.


Traubensaft gibt Traubenkraft

Christian "NineBerry" Schwarz

--
I believe that we'll conceive
To make in hell for us a heaven.
A brave new world. A promised land.
A fortitude of hearts and minds.

Andreas Schmidt

ungelesen,
20.06.2002, 03:07:2720.06.02
an

"Christian NineBerry Schwarz" <Christia...@nineberry.de> schrieb im
Newsbeitrag news:Xns923310CA0...@NineBerry.de...

> Andreas Schmidt schrieb:
>
> > Es wird allerdings kein Komponenten-Wrapper erzeugt,
> > wie das sonst der Fall ist.
> >
> > Es sieht im Moment so aus, dass grundsätzlich jedes
> > mit VB 6 (SP 5) erstellte OLE-Control nicht mit Delphi 5
> > benutzt werden kann.
>
> Der Fehler liegt nicht bei Delphi, sondern bei Visual Basic. VB
> vergisst nämlich in der Typbibliothek des Steuerelements das Flag
> "TYPEFLAG_FCANCREATE" zu setzen.

> ...

Hallo Christian,

vielen Dank für deine ausführliche Antwort.
Ich habe schon so etwas Ähnliches vermutet, war dann aber verunsichert, weil
das Problem nur mit Delphi auftrat.

Falls mein Kollege das Flag auf seiner Seite nicht unter Kontrolle bekommt,
werde ich mal versuchen die geänderte TLB wieder in das OCX reinzupacken.

Andreas

Christian NineBerry Schwarz

ungelesen,
20.06.2002, 04:00:1920.06.02
an
Hallo Andreas

Andreas Schmidt schrieb:

> Falls mein Kollege das Flag auf seiner Seite nicht unter Kontrolle


> bekommt, werde ich mal versuchen die geänderte TLB wieder in das
> OCX reinzupacken.

Das ist eigentlich unnötig, da die TLB nur zur Entwicklungszeit
benötigt wird.

0 neue Nachrichten