![]() |
dotnet:Komponente in einem anderen Formular ansprechen
Hallo,
obwohl eingefleischter Delphianer, bin ich trotzdem dabei, mal zu schauen, wie der Mitbewerber dotnet so funktioniert. Und da sicherlich einige hier im Forum auch zusätzlich mit dotNet arbeiten, frage ich mal neugierig: In Delphi kann ich bequem im Objektinspektor auf Komponenten in anderen Formularen zugreifen, sobald ich das Formular in die uses-Klausel aufgenommen habe (z.B. vom DBGrid im Formular auf die Datasource im Datenmodul). Wie geht so was in dotNet? Die Datenanbindung funzt ja dort über das Dataset, auf das ich auch aus allen Formularen zugreifen kann. Aber ich will versuchsweise meine eigenen Komponenten nach dotNet übertragen, und da habe ich auch eine "Masterkomponente", die von mehreren Clientformularen angesprochen wird. Klar kann ich das ganze in dotNet im Quelltext verknüpfen, aber ich möchte das ganze genauso bequem per Mausklick konfigurieren wie in Delphi. Und da taucht halt meine Masterkomponente aus Formular 1 nicht in der Clientkomponente in Formular 2 auf, wenn ich im Objektinspektor klicke. Da mir Google nicht helfen konnte (wahrscheinlich fehlen mir nur die richtigen Suchstichworte), hoffe ich, hier kann mir jemand helfen. Gruß Rainer |
Re: dotnet:Komponente in einem anderen Formular ansprechen
Zitat:
Selbst im Code kannst du mit den Standardeinstellungen nicht auf Komponenten anderer Forms zugreifen, .NET meint es ernst mit der Kapselung ;) . Subforms sollten komplett unabhängig von ihrem Parent sein. |
Re: dotnet:Komponente in einem anderen Formular ansprechen
Zitat:
Aber dann mal schnell alle Komponenten auf Formular 2 markieren, Komponenten.Masterkomponente im Objektinspektor auf Formular1.Masterkomponente setzen, damit komm ich sehr gut zurecht, ohne mir über CleanCode zuviel Gedanken zu machen. Und ganz klar ist mir an der Stelle jetzt auch nicht, wo der wesentliche Unterschied zu den Datasets von .Net liegt, die auch in mehreren Formularen verwendet werden können, das sind doch auch Singletons. Ich würde ja auch meine Masterkomponente(n) so in der Richtung Dataset einbauen, wenn ich wüßte, wie man das in .Net macht. Aber momentan kenn ich mich ja mit .Net soviel aus, dass ich für das simpelste StrToInt erst mal ein Buch zur Hand nehmen muss. |
Re: dotnet:Komponente in einem anderen Formular ansprechen
Zitat:
Zitat:
Zitat:
|
Re: dotnet:Komponente in einem anderen Formular ansprechen
1.) DataSets in .NET sind langsam. Insbesondere die typisierten. So langsam und so speicherfressend, dass man sie besser nicht (also gar nicht) einsetzt.
Datenzugriff in .NET läuft inzwischen besser via LINQ 2 SQL oder via Entity Framework. Oder, wenn man viel Doku lesen mag, über nHibernate. Oder, wenn man Geld ausgeben mag, über andere O/R Mapper. 2.)
Code:
oder
var myInt = Int32.Parse("123"); // wirft ne exception wenn der String kein Int ist
Code:
;-)
int myInt;
if (Int32.TryParse("12 Hallo", out myInt) { // dosomething with int } else { // hier hat MyInt den Default-Wert (0), es wird keine Exception geschmissen } |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13: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