Autor Beitrag
connyT
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mo 25.03.19 08:57 
Hallo zusammen,

ich muss eine Anwendung schreiben, die eine ActiveX-Typbibliothek nutzt. Leider funktioniert das nur mit VCL.
Gleichzeitig brauche ich jedoch für die optische Darstellung Firemonkey.

Deswegen wollte ich euch mal nach euren Erfahrungen mit Monkeymixer fragen. Laut Github funktioniert es bis 10.1 Berlin. Aber hat es jemand von euch auch schonmal unter 10.3 Rio genutzt?

Viele Grüße,
Conny (:
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 25.03.19 16:31 
- Nachträglich durch die Entwickler-Ecke gelöscht -
connyT Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mo 25.03.19 16:43 
Hallo Frühlingsrolle,

das ist interessant. Ich habe im Internet nur gefunden, dass das nicht gehen soll.

Ich habe eine .ocx-Datei die ich in ein Package importiere damit das neue Element der Palette angezeigt wird. Diese wird aber nur in VCL angezeigt, nicht bei der Palette von Firemonkey.
Wenn ich versuche die Typbibliothek direkt hinzuzufügen dann wird eine pas-Datei erstellt. Diese enthält die Uses:
ausblenden Delphi-Quelltext
1:
2:
uses ActiveX, Classes, Vcl.Graphics, Vcl.OleCtrls, Vcl.OleServer, StdVCL, Variants,
Windows;


Und da hat es erst einmal gemeckert, dass es nicht funktionieren würde wegen OleCtrls.
Wenn ich versuche das Programm dann auszufüren bekomme ich immer wieder ein "Klasse nicht registriert", was ich auf folgenden Quelltext aus der Datei zurückgeführt hätte:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure Register;
begin
  RegisterComponents('ActiveX',[TComms]);
end;


Meinst du es wäre möglich das Ganze umzuschreiben, damit es läuft?
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 25.03.19 16:55 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1192
Erhaltene Danke: 100

Win7
DXE2 Prof, Lazarus
BeitragVerfasst: Mo 25.03.19 18:59 
Monkeymixer, sehr interessant. Da der volle Sourcecode auf Github liegt sollte es möglich sein den auch in neueren Versionen zu installieren.

Was passiert wenn du keinen Komponenten Wrapper für das Control erstellst? Also wenn du dich um die Einbindung selber kümmerst?
Ansonsten fällt mir nur noch die Verwendung einer Dll ein die die Komponente kapselt.

_________________
Solange keine Zeile Code geschrieben ist, läuft ein Programm immer fehlerfrei.
Ich teste nicht, weil ich Angst habe Fehler zu finden.
connyT Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Di 26.03.19 09:55 
Danke für eure Antworten!

user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Für mich sieht es nach einem VCL Projekt aus, das in der Sparte "ActiveX" hinterlegt wurde. Das muss nicht unbedingt etwas mit ActiveX zu tun haben.
Ich registriere meine Komponenten unter meinen Nick, damit ich sie schneller finde.

Mehr kann ich dazu sagen, wenn ich die TComms Komponente selbst getestet habe.


Ich habe dir die .ocx-Datei mal geschickt. Vielleicht kannst du mir eine Einschätzung geben ob du meinst dass man sie unter Firemonkey zum Laufen bekommen könnte.


user profile iconSinspin hat folgendes geschrieben Zum zitierten Posting springen:
Monkeymixer, sehr interessant. Da der volle Sourcecode auf Github liegt sollte es möglich sein den auch in neueren Versionen zu installieren.

Was passiert wenn du keinen Komponenten Wrapper für das Control erstellst? Also wenn du dich um die Einbindung selber kümmerst?
Ansonsten fällt mir nur noch die Verwendung einer Dll ein die die Komponente kapselt.

Das klingt doch ermutigend (:
Wie ich mich um die Einbindung selber kümmern kann müsste ich erst einmal herausfinden (Delphi-Neuling), genauso wie ich sie in ne DLL kapseln könnte. Aber letzteres klingt für mich jetzt erst einmal einfacher, da versuche ich mich mal dran (:

EDIT: Ich habe es jetzt mit einer eigenen DLL hinbekommen die Typbibliothek auch in Firemonkey zu nutzen (: Danke nochmal für euere Anregungen!