AW: [Acdk-developer] Server-seitige Anwendungen in Python mit ACDK?
Brought to you by:
kommer
|
From: Roger R. K. <ko...@ar...> - 2005-01-24 13:01:02
|
Hallo,
>> Wenn ich die Dokumentation richtig verstanden habe, erlaubt ACDK =
nicht,
serverseitige Anwendungen in Python zu implementieren?
Ich vermute die Dokumentation kommt aus dem Umfeld DMI-Server/Client. =
Das
hat nichts mit der klassischen Definition von serverseitige Anwendungen =
zu
tun.
Ein DMI-Client ist eine Sprachumgebung, die ACDK DMI-Server-Objekte
verwenden kann, als waeren sie (mehr oder minder) die eigenene Objecte.
Das Beispiel aus der Doku demonstriert dies:
=20
def foo(string1, string2):
sb =3D acdk.Object("acdk/lang/StringBuffer", string1)
sb.append(string2)
return sb.toString()
acdk.peek_static("acdk/lang/System", "out").println(foo("Hello Python", =
"
from ACDK"))
Innerhalb von foo wird DMI-Server Object (in diesem Falle in ACDK C++
implementiert) und verwendet es, als waere es ein Python-Object.
Das "mehr oder minder" beschreibt den Grad der Integration. Der Aufruf =
von
nicht-statischen methoden geht sehr transparent, bei Zugriff z.B. auf
member-Variablen musste ich jedoch Hilfsmethoden, wie peek_static,
einf=FChren.
Aber nicht nur in C++ implementierten Objekte koennen innerhalb von =
Python
als DMI-Server verwendet werden, sondern auch COM-
(nur Windows), Java-, CORBA-, oder CfgScript-Objekte.
Hier ein snipped f=FCr ein COM-Objekt:
import acdk
classloader =3D acdk.Object("acdk/lang/ClassLoader")
classloader.findClass("acdkx/com/ComObject") =20
word =3D acdk.invoke_static("acdkx/com/ComObject", "New", =
"Word.Application")
word.poke("Visible", 1)
doc =3D word.peek("Documents").Add()
sel =3D word.peek("ActiveWindow").peek("Selection")
sel.TypeText("This is ")
sel.peek("Font").poke("Bold", 1)
sel.TypeText("ACDK")
sel.peek("Font").poke("Bold", 0)
sel.TypeText(" instrumenting Word through acdk_python")
acdk.invoke_static("acdk/lang/Thread", "sleep", 3000)
Die beste Integration in ACDK hat zur Zeit CfgScript (ist im Modul =
acdk_core
enthalten). Innerhalb CfgScript lassen sich sogar=20
Innerhalb einer Scriptsprache C++ Klassen ableiten (inklusive =
=DCberschreiben
von virtuellen Methoden) und Interfaces implementieren, die innerhalb =
von
C++ (hier sozusagen der DMI-Client) verwendet werden k=F6nnen, als =
w=E4ren sie
native C++-Objekte.
Ich bin mir nicht sicher, ob es auch m=F6glich ist (bzw. wie schwierig =
das
ist), acdk_python so zu erweitern, dass Python-Objekte auch als =
DMI-Server
Objekte fungieren k=F6nnen. Wenn Python auf C-Ebene die M=F6glichkeit =
hat,
Typ-Informationen (inklusive Methodendefinitionen) abzufragen, sollte es
m=F6glich sein.
Gr=FCsse,
Roger Rene Kommer
-----Urspr=FCngliche Nachricht-----
Von: acd...@li...
[mailto:acd...@li...] Im Auftrag von =
Wolfgang
Keller
Gesendet: Montag, 24. Januar 2005 09:53
An: acd...@li...
Betreff: [Acdk-developer] Server-seitige Anwendungen in Python mit ACDK?
Hallo,
ich erlaube mir mal, auf deutsch zu posten. :-)
Wenn ich die Dokumentation richtig verstanden habe, erlaubt ACDK nicht,
serverseitige Anwendungen in Python zu implementieren?
Danke im Voraus,
MfG
Wolfgang Keller
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting =
Tool
for open source databases. Create drag-&-drop reports. Save time by over
75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Acdk-developer mailing list
Acd...@li...
https://lists.sourceforge.net/lists/listinfo/acdk-developer
|