AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Prism Einige Fragen zu Delphi 8 (package mit .net Komponenten)

Einige Fragen zu Delphi 8 (package mit .net Komponenten)

Ein Thema von MaBuSE · begonnen am 14. Apr 2004 · letzter Beitrag vom 21. Apr 2004
Antwort Antwort
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Einige Fragen zu Delphi 8 (package mit .net Komponenten)

  Alt 14. Apr 2004, 11:52
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.
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

Re: Einige Fragen zu Delphi 8 (package mit .net Komponenten)

  Alt 14. Apr 2004, 15:33
Die 2. Komponente in ein 2. Package funktioniert.

Aber ich kann ja nicht pro Komponente ein Package erstellen :-/
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#3

Re: Einige Fragen zu Delphi 8 (package mit .net Komponenten)

  Alt 15. Apr 2004, 09:17
Ehrlich gesagt, ich habe noch keine Assembly für .Net geschrieben.
Aber wenn ich heute Abend Zeit habe, schaue ich mir das mal (Ich wollte mir sowieso visuelle Komponenten für managed DirectShow basteln )
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: Einige Fragen zu Delphi 8 (package mit .net Komponenten)

  Alt 16. Apr 2004, 09:02
Sorry, ich bin gestern nur dazu gekommen eine Komponente halbwegs fertig zu kriegen (und da war es auch schon halb 4 ).
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 )

Hast du das gleiche Problem gehabt, bzw. wie hast du es umgangen?
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Einige Fragen zu Delphi 8 (package mit .net Komponenten)

  Alt 20. Apr 2004, 17:38
Zitat von Robert_G:
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 )

Hast du das gleiche Problem gehabt, bzw. wie hast du es umgangen?
Bei mir ist das nicht aufgetreten.

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 !

mfg
MaBuSE


PS: übrigens
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#6

Re: Einige Fragen zu Delphi 8 (package mit .net Komponenten)

  Alt 20. Apr 2004, 18:13
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.

zum Thema:
Ich hatte eigentlich keine Probleme 2 Komponenten in ein Package zu bekommen. Du musst ab & zu die IDE neu starten ( ) damit er die Änderungen bemerkt.
D8 verwendet neben dem GAC noch einen eigenen Assemby cache (und der verhindert manchmal, dass die Änderungen wirksam werden).
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

Re: Einige Fragen zu Delphi 8 (package mit .net Komponenten)

  Alt 21. Apr 2004, 12:22
Zitat von Robert_G:
zum Thema:
Ich hatte eigentlich keine Probleme 2 Komponenten in ein Package zu bekommen. Du musst ab & zu die IDE neu starten ( ) damit er die Änderungen bemerkt.
D8 verwendet neben dem GAC noch einen eigenen Assemby cache (und der verhindert manchmal, dass die Änderungen wirksam werden).
Das wars. Danke.

Ist ja wie Windows. Neuboot -> alles klappt (oder auch nicht)
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:49 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