Hallo!
Ich weiss, es gibt noch nicht sehr viele User, aber irgendeiner muss ja anfangen. :-)
Wo findet man informationen über SOM-Objekte? Wie funktionieren diese und wie könnte man diese in WDSiybl einbinden?
bye,
Wolfgang
Richtig, OS/2 hat SOM und Windows hat COM.
Es gibt/gab auch ein SOM für Windows (NT). Da SOM wohl aber nicht weiter entwickelt wird, kann man das vermutlich streichen.
Holla, da haben wir aneinander vorbei geredet. Mein Satz "Dann kann man das vermutlich streichen" galt der im Vorsatz genannten Windows-Unterstützung von SOM.
Aktuell sieht es so aus, daß Yuri Prokushev dabei ist SOM für FreePascal zu implementieren
Ich habe mir mal den FPC source von ftp://ftp.freep...fpcbuild.zip gezogen. Dort gibt es bereits eine Som-Unit (som.pas) welche wohl aber noch nicht funktionsfähig ist.
SOM_Scope void SOMLINK sayDemoWord(Demo *somSelf, Environment *ev)
{
DemoData *somThis = DemoGetData(somSelf);
DemoMethodDebug("Demo","sayDemoWord");
printf("Write %s\n",_get_DemoWord(somSelf, ev));
}d.h. dieser "Emitter" ist in prinzip ein Compiler, der die IDL-Sprache in eine DLL-Pascal-Datei konvertiert und der Pascal-Compiler compiliert die Datei in eine DLL.
.) Als erstes wäre es interessant ob man den oben genannten Code händisch so konvertiert, dass WDSibyl eine DLL erstellt und ob die DLL in die WPS einbindet.
.) Wenn das funktioniert, dann könnte man schauen ob man den "Emitter" so umbaut, dass WDSibyl diesen kompilieren kann. (als erstes in eine EXE-Datei)
(...)
.) Bei Windows muss man dann schauen, wie man das so umbaut, dass daraus eine COM-Objekt wird. Aber das muss man sich genau noch anschauen, ob das technisch möglich ist.
Damit könnte WDSibyl auch SOM-Objekte erstellen.
Vielleicht kann man später auch die IDE so anpassen, dass WDSibyl eine Oberfläche anbietet. Aber das ist nur ein "Zukunftsmusik".