Christian Geschrieben May 10, 2012 at 08:55 Geschrieben May 10, 2012 at 08:55 Servus, hab ich Wiki mal mein erstes "PHP-Test-Projekt" angelegt. ist eine kleine Windows dotnet-GUI welches das Rotary Poty abfragen kann... Gruß Christian Zitieren
AuronX Geschrieben May 10, 2012 at 13:59 Geschrieben May 10, 2012 at 13:59 Wh00t! Man kann aus PHP heraus .NET-Assemblies laden? Zitieren
Christian Geschrieben May 10, 2012 at 15:41 Autor Geschrieben May 10, 2012 at 15:41 Ja da hab ich auch gestaunt Die Zauberei ist folgendes: <?php $full_assembly_string = 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'; $namespace = 'System.Windows.Forms'; $form = new DOTNET($full_assembly_string, $namespace.'.Form'); $txt1 = new DOTNET($full_assembly_string, $namespace.'.TextBox'); ?> Dokumentiert hier. Wenn ich mit dem System noch die Callbacks irgendwie in den Griff bekomm, wär das ne coole Sache. ich hab mir dann auch mal die Microsoft-Doku angeschaut, aber ich habs z.B. nicht geschafft ne einfache "Message-Box" zu erzeugen... also so richtig Easy is das nicht . Winbinder ist etwas ähnliches, greift aber glaub ich nicht auf die .NET-Assembies, sonder auf die normale Windows-API zu. Der Winbinder läuft auch ganz nett eigentlich, ist aber nicht wirklich intuitiv zu bedienen... Noch mehr hab ich gestaunt wie ich gelesen hab, via PHP die Windows-Systemdienste zu manipulieren bzw. PHP-Systemdienste hinzuzufügen Ich hab auch mal versucht die C#-Tingerforge.dll in PHP zu laden. Soll grundsätzlich gehen, diese DLL's zu laden, aber scheinbar kommt mein PHP 5.3.8 nicht mit den .NET4.0-DLL's zurecht. mit 3.5 solls wohl besser klappen Gruß Christian Zitieren
AuronX Geschrieben May 11, 2012 at 07:16 Geschrieben May 11, 2012 at 07:16 Die DLLs sollen ja eigentlich 2.0 kompatibel sein. Ich müsste mal versuchen ob sie sich so wirklich kompilieren lassen... Zitieren
Christian Geschrieben May 11, 2012 at 07:33 Autor Geschrieben May 11, 2012 at 07:33 achso... keine Ahnung ;-). Ich bin nicht so wirklich der ".NET-Held". Ich hab nur mal kurz in die Richtung recherchiert, aber die DLL's wollten net wirklich. Ich würd mich echt sehr dafür interessieren, dass man diese dotnet-WindowsForms nutzbar einsetzen könnte. Allerdings gibt das Internet nicht so wahnsinnig viel her. Recht viel mehr was ich hier hab konnt ich bisher nicht in Erfahrung bringen. Evtl versuch ich noch a bissl mehr mit Winbinder zu basteln. Da gibts ja zumindest nen funktionierenden grafischen Editor (entfernt ähnlich wie Visual Studio), wo man allerdings ausschließlich die Oberfläche zusammenklicken kann. Code/Funktionen muss man wahrscheinlich manuell reinbringen. Gruß Christian Zitieren
AuronX Geschrieben May 11, 2012 at 07:47 Geschrieben May 11, 2012 at 07:47 Ergänzung wegen 2.0/4.0: Die aktuell herunterladbare DLL wurde so wie es scheint für 2.0 gebaut. Daran sollte es also nicht liegen Zitieren
borg Geschrieben May 11, 2012 at 08:16 Geschrieben May 11, 2012 at 08:16 Einmal ganz allgemein zu den C# Binding Versionen: Wir bauen die ganzen Bindings unter Linux, die C# Bindings entsprechend mit mono. Wir wollen mono auch unbedingt unterstützten (wird durchaus in embedded Devices in der Robotik benutzt, also sehr interessant für uns). Allerdings ist in mono noch nicht die komplette .NET API implementiert, z.B. die asynchronen Sockets noch nicht. Auf Windows Phone wiederum wurde nicht auf Abwärtskompatibilität geachtet und es gibt z.B. keine blockenden Sockets (daher auch die #ifdefs im Code). Daher muss man da bei C# immer ein bisschen hin und her jonglieren um es auf allen Plattformen zum laufen zu kriegen. Zitieren
AuronX Geschrieben May 11, 2012 at 10:34 Geschrieben May 11, 2012 at 10:34 Auf Windows Phone wiederum wurde nicht auf Abwärtskompatibilität geachtet und es gibt z.B. keine blockenden Sockets (daher auch die #ifdefs im Code). Das ist ja furchtbar! Ich hab mich schon immer über die vielen verstreuten ifdefs geärgert... werde mal schauen, dass ich mir nen WP-SDK installiere, dann würde ich versuchen das Problem zu entschärfen. Zitieren
AuronX Geschrieben May 11, 2012 at 14:35 Geschrieben May 11, 2012 at 14:35 Meine Pull Request ist raus, aber ich glaube beim letzten Mal ist Git explodiert... Hoffe das klappt trotzdem alles halbwegs ^^ Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.