![]() |
Einige Fragen zu Delphi 8 (package mit .net Komponenten)
Hallo,
ich habe eine kleine .net Komponente für WinForms geschrieben (eine Test ohne Funktion) Das ganze ist in einem Package -> dll wird erzeugt Diese .net Komponente konnte ich auch ohne Probleme in Delphi 8 einbinden und kann Sie nun in WinForms verwenden. Nun habe ich eine 2. Komponente in das Package gesteckt. Diese Komponente kann ich aber nicht einbinden, da sie mir nicht bei "installierte .net Komponenten" angezeigt wird. Was mache ich falsch? Oder anders gefragt: Wie mache ich das? Ich bedanke mich schon mal in Voraus für die Antworten Falls es jemanden interessiert: Hier die Komponente - aber nicht zu genau hinschauen, ist ja nur zum test :-)
Delphi-Quellcode:
unit UserControl;
interface uses System.Drawing, System.Collections, System.ComponentModel, System.Windows.Forms, System.Data; type TUserControl = class(System.Windows.Forms.Button) strict private Components: System.ComponentModel.Container; strict protected procedure Dispose(Disposing: Boolean); override; private public constructor Create; end; [assembly: RuntimeRequiredAttribute(TypeOf(TUserControl))] implementation uses System.Globalization; {$AUTOBOX ON} constructor TUserControl.Create; begin inherited Create; Self.Components := System.ComponentModel.Container.Create; // Button rot setzen Self.BackColor := System.Drawing.Color.FromArgb((Byte(255)), (Byte(128)), (Byte(128))); end; procedure TUserControl.Dispose(Disposing: Boolean); begin if Disposing then begin if Components <> nil then Components.Dispose(); end; inherited Dispose(Disposing); end; end. |
Re: Einige Fragen zu Delphi 8 (package mit .net Komponenten)
Die 2. Komponente in ein 2. Package funktioniert.
Aber ich kann ja nicht pro Komponente ein Package erstellen :-/ |
Re: Einige Fragen zu Delphi 8 (package mit .net Komponenten)
Ehrlich gesagt, ich habe noch keine Assembly für .Net geschrieben. :oops:
Aber wenn ich heute Abend Zeit habe, schaue ich mir das mal (Ich wollte mir sowieso visuelle Komponenten für managed DirectShow basteln ;) ) |
Re: Einige Fragen zu Delphi 8 (package mit .net Komponenten)
Sorry, ich bin gestern nur dazu gekommen eine Komponente halbwegs fertig zu kriegen (und da war es auch schon halb 4 :shock: ).
Ich bin da aber über etwas gestoplert: Ich kann das Package einfach per "select assembly" zu der Liste der inst. .Net-Kompos hinzufügen. Ich kann sie auch auf mein Form ziehen und zur Designzeit verwenden. Aber wenn ich kompilieren will, dann meckert er etwas von wegen: "blabla... could not include XXX because it contains the library Borland.Delphi.System" Klicke ich jetzt im ProjektManager auf "link in Delphi Units", dann geht es (er benutzt aber nur die .pas :cry: ) Hast du das gleiche Problem gehabt, bzw. wie hast du es umgangen? |
Re: Einige Fragen zu Delphi 8 (package mit .net Komponenten)
Zitat:
ABER: Im delphi.net Sonderheft steht das Problem beschrieben. Seite 54, Artikel: "Was darf's sein? Library, Package oder DLL?", 1. Absatz Ich bin noch nicht ganz durch (mit dem Lesen des Heftes). Ich will ja auch alles verstehen und ausprobieren :mrgreen: ! mfg MaBuSE PS: übrigens :dp: |
Re: Einige Fragen zu Delphi 8 (package mit .net Komponenten)
Achso, den Thread habe ich total vergessen :mrrgeen:
Das Problem war einfach, dass ich die Assembly Borland.Delphi aus den Referenzen geschmissen hatte. Als Ergebniss hat D8 sie fest in meine Assembly kompiliert. Da in dieser Assembly die RTTI steckt, hat er sich mit Händen und Füßen geweigert, sie an ein anderes Delphi Projekt zu hängen. Zwei mal die RTTI in einer Echse geht nämlich in die Hose. :tongue: zum Thema: Ich hatte eigentlich keine Probleme 2 Komponenten in ein Package zu bekommen. Du musst ab & zu die IDE neu starten ( :evil: ) damit er die Änderungen bemerkt. D8 verwendet neben dem GAC noch einen eigenen Assemby cache (und der verhindert manchmal, dass die Änderungen wirksam werden). |
Re: Einige Fragen zu Delphi 8 (package mit .net Komponenten)
Zitat:
Ist ja wie Windows. Neuboot -> alles klappt (oder auch nicht) :? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 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