Entwickler-Ecke
Sonstiges (Delphi) - Zugriff auf .NET Bibliothek
wulfskin - Mo 06.10.08 21:38
Titel: Zugriff auf .NET Bibliothek
Hallo,
bin mittlerweile etwas im .NET-Fieber. Dlls mit .NET erstellt imponieren mir, da sie so einfach zu benutzen sind. Kann man diese auch in Delphi (2005) nutzen? Wenn ja, wie?
Viele Grüße,
Hans-Peter
wulfskin - Do 09.10.08 21:45
Hallo,
möchte, auch wenn i.d.R nicht gewünscht, meine Frage nochmal pushen. Kann man eine .NET-Klasse in einer DLL ablegen und diese mit Delphi 2005 wieder benutzen. Wenn nicht, ist das mit den aktuellen Delphi-Versionen möglich?
Viele Grüße,
Hape
jaenicke - Do 09.10.08 22:03
1. Pushen ist nach 24 Stunden erlaubt, nur wenn man schon nach einer Stunde oder so pusht ist es das nicht ;-):
Richtlinien [http://www.delphi-forum.de/sites.php?id=9&sub=,1,107] hat folgendes geschrieben: |
4.6 Schiebeposting
Schiebeposting (ein Posting um sein eigenes Topic für unsere Leser wieder als ungelesen zu markieren) sind nach 24 Stunden erlaubt. Es gibt keine Begrenzung von Schiebepostings, sofern ihr Abstand 24 Stunden beträgt. |
Und wenn du wirklich neue wichtige Informationen hast, also nicht nur pushen willst,
und das Posten schon eine ganze Weile her ist, dann kannst du ruhig auch schon früher statt zu editieren eine Antwort erstellen, da sonst niemand der bisherigen Leser mitbekommt, dass du neue Informationen ergänzt hast.
2. Zur Frage: Delphi 2005 hatte auch .NET Unterstützung, demzufolge sollte das möglich sein, genau wie in den neueren Versionen auch. Du musst aber auch ein neues .NET-Projekt starten, in einem Win32-Projekt kannst du natürlich i.d.R. keine .NET-Features und Bibliotheken benutzen.
Wie muss ich mal schauen ;-).
Dunkel - Do 09.10.08 22:11
C# ist eine tolle Sprache, und soo weit entfernt von der Delphi-Syntax ist sie auch nicht, was die Einarbeitungszeit relativ gering hält. Was hindert Dich daran, diese tolle Sprache zu benutzen?
Ansonsten, wie
jaenicke schon schrieb, einfach ein Delphi.NET-Projekt erstellen, wobei man da auf das definitiv veraltetet .NET 2.0 beschränkt ist. Chrome wäre vielleicht noch eine Alternative, einen PASCAL-Dialekt mit .NET zu benutzen.
wulfskin - Do 09.10.08 22:17
Dunkel hat folgendes geschrieben : |
C# ist eine tolle Sprache, und soo weit entfernt von der Delphi-Syntax ist sie auch nicht, was die Einarbeitungszeit relativ gering hält. Was hindert Dich daran, diese tolle Sprache zu benutzen? |
Hat zwar nichts mit dem Thema zu tun, aber konkret eigentlich nur so tolle Komponenten wie z.B.
VirtualTreeView [
http://www.soft-gems.net/index.php?option=com_content&task=view&id=12&Itemid=38] von Mike Lischke.
Übrigens: Danke für die Antwort. ;) Ich möchte sie in Win32-Projekten benutzen was logischerweise nicht geht. Schade eigentlich, aber eigentlich klar!
Gruß Hape!
jaenicke - Do 09.10.08 22:28
Chrome heißt jetzt
Oxygene [
http://www.remobjects.com/product/?id={DC0A9947-5FED-4D34-8CC8-F2DCFA87A1FE}] ;-).
Und zum wie hinzufügen: Unter Project --> Add Reference werden die registrierten Assemblys aufgelistet, diese kannst du hinzufügen oder unten eine eigene hinzufügen. (Geht auch im Projektmanager per Rechtsklick auf References)
(Das war für ein .NET Projekt gemeint natürlich)
Ich sehe schon die neuen Antworten ;-).
Das meinte ich mit "i.d.R.", sowas hatte ich nämlich schon einmal kurz gelesen, ich habe es nur nicht wiedergefunden in dem Moment ;-).
Nichtsdestotrotz dürften viele Features von .NET so nicht nutzbar sein.
Dunkel - Do 09.10.08 22:32
Und Raider heißt jetzt Twix, verdammtes Marketing! :roll: :wink:
wulfskin - Do 09.10.08 22:39
Sieht nicht gerade elegant aus. Für mich ergibt sich das Ergebnis, dass sich die beiden Welten nicht ohne weiteres verbinden lassen. Es ist also sinnvoller eine Win32-DLL zu schreiben und diese
unsafe in .NET einzubinden.
Gruß Hape!
Dunkel - Do 09.10.08 22:43
wulfskin hat folgendes geschrieben : |
Es ist also sinnvoller eine Win32-DLL zu schreiben und diese unsafe in .NET einzubinden. |
Das ist die Quintessenz der ganzen Geschichte.
Es ist wohl irgendwie (mit diversen Einschränkungen) möglich, elegant ist aber was anderes.
jaenicke - Do 09.10.08 22:45
Dunkel hat folgendes geschrieben : |
Und Raider heißt jetzt Twix, verdammtes Marketing! :roll: :wink: |
Bei der Gelegenheit ist mir vorhin aufgefallen, dass ich mein Profil entsprechend aktualisieren sollte ;-). Nachdem der neue Browser da war, war ja auch ziemlich klar, warum die Umbenennung erfolgt ist, mit Marketing hat das in diesem Fall wohl nicht so viel zu tun ;-).
wulfskin hat folgendes geschrieben : |
Sieht nicht gerade elegant aus. Für mich ergibt sich das Ergebnis, dass sich die beiden Welten nicht ohne weiteres verbinden lassen. Es ist also sinnvoller eine Win32-DLL zu schreiben und diese unsafe in .NET einzubinden. |
Die Frage ist, ob das immer möglich sein wird, ich habe da nicht darauf geachtet, ob da eine Änderung in der Entwicklung von .NET geplant ist.
Dunkel - Do 09.10.08 22:53
jaenicke hat folgendes geschrieben : |
wulfskin hat folgendes geschrieben : | Sieht nicht gerade elegant aus. Für mich ergibt sich das Ergebnis, dass sich die beiden Welten nicht ohne weiteres verbinden lassen. Es ist also sinnvoller eine Win32-DLL zu schreiben und diese unsafe in .NET einzubinden. | Die Frage ist, ob das immer möglich sein wird, ich habe da nicht darauf geachtet, ob da eine Änderung in der Entwicklung von .NET geplant ist. |
Das .NET-Framework ist (bis jetzt) nur ein "Wrapper" um die Win32-API, also gibt es definitiv Schnittpunkte zwischen beiden Welten.
Was MS aber in Zukunft macht (u.U. die Win32 API komplett eliminieren), steht aber auf einem anderen Blatt geschrieben. Verlassen sollte man sich also nicht auf solche "Workarounds".
jaenicke hat folgendes geschrieben : |
Bei der Gelegenheit ist mir vorhin aufgefallen, dass ich mein Profil entsprechend aktualisieren sollte ;-). Nachdem der neue Browser da war, war ja auch ziemlich klar, warum die Umbenennung erfolgt ist, mit Marketing hat das in diesem Fall wohl nicht so viel zu tun ;-). |
Dadurch wurde ich wohl geblendet. :wink:
Da ich Chrome (ähmm... Oxygen) nur vom Hören-Sagen kenne, sind mir diverse Internas wohl nicht bekannt.
Martok - Fr 10.10.08 02:32
Sagt wer? Bei mir gehts Prima ;)
Man wird wohl eher Probleme in .NET kriegen.
wulfskin - Fr 10.10.08 13:12
Martok, du musst den ganzen Beitrag lesen und verstehen. Klar geht die Komponente VirtualTreeView unter Win32 aber eben nicht unter .NET. Ich bezog mich hier auf eine .NET-Dll, die eben nur schwer in Win32-Projekten lesbar ist.
Gruß Hape!
Martok - Fr 10.10.08 17:18
wulfskin hat folgendes geschrieben : |
Martok, du musst den ganzen Beitrag lesen und verstehen. Klar geht die Komponente VirtualTreeView unter Win32 aber eben nicht unter .NET. Ich bezog mich hier auf eine .NET-Dll, die eben nur schwer in Win32-Projekten lesbar ist.
Gruß Hape! |
Eben, Eben.
Erst willst du eine .NET-Lib unter Win32 benutzen, dann gehts ums VT, welches eigentlich Win32 ist aber bei dir als .NET-Beispiel kommt, und jetzt willst du Win32 unter .NET und andersrum, (fast) in einem Satz.
Ich glaub, du verwirrst mich ;)
Aber egal: was gehen würde: Interfaces. Die müssten eigentlich auf beiden Seiten funktionieren.
wulfskin - Fr 10.10.08 20:35
Martok hat folgendes geschrieben : |
Aber egal: was gehen würde: Interfaces. Die müssten eigentlich auf beiden Seiten funktionieren. |
Danke für den Hinweis, dass klingt doch auch ganz interessant.
Zu der Verwirrung: War nicht böse von mir gemeint und wahrscheinlich hast du auch recht, dass durch die Zwischenbeiträge der Inhalt nicht ganz klar wird.
Ich fasse nochmal kurz zusammen: Würde gerne eine .NET-DLL schreiben und in Win32-Anwendungen benutzen (wegen VTV). Der Weg über Interfaces ist wohl am einfachsten. Eine andere Möglichkeit ist die Einbindung als COM-Objekt über Interob.
Danke euch allen und ein schönes Wochenende,
Hape
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!