Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
VS - idlflex
Gehe ich recht in der Annahme, dass man zum Lösen der Aufgabe 4b) die gegebenen Dateien ‘SkeletonMapping.xml’ und ‘StubMapping.xml’ aus den idlflex-Unterverzeichnissen hernehmen soll, und den darin enthaltenen Java-Code in C+±Code umschreiben soll?
Anders kann ich mir nicht erklären, wie man alleine mit den dürftigen Informationen aus den Übungs-Folien die Aufgabe lösen könnte.
ich hab die xml/mapping/FAX/sample.xml angepasst.
Sehr gut, habe ich jetzt auch gemacht. Funktioniert fast, bis auf ein Problem:
erst erstelle ich den Stub-Code:
<COMPONENT NAME="HeaderComp">
<FILE SPEC="FAX:FILE:.cpp">
<!-- Object interface -->
/* ************ */
/* *** STUB *** */
/* ************ */<P/>
<ITERATE NAME="MEMBER">
[...]
</ITERATE>
</FILE>
</COMPONENT>
Und danach kommt direkt das Skeleton:
<COMPONENT NAME="HeaderComp">
<FILE SPEC="FAX:FILE:.cpp">
/* **************** */
/* *** SKELETON *** */
/* **************** */
[...]
switch (method_id)
{
<ITERATE NAME="MEMBER">
<IF TYPE="OperationObj">
case <GET T="LOOP:index"/>:
{
<CALL OBJ="RETURN" NAME="TypeMapper"/> val1;
<CALL OBJ="RETURN" NAME="TypeMapper"/> val2;
m.read(&val1);
m.read(&val2);
[...]
</IF>
</ITERATE>
default:
cout << "MultiplyServerSkel::invoke(): method_id unknown !" << endl;
}
return [...]
}
</FILE>
</COMPONENT>
Leider erscheint das Skeleton nicht in der Ausgabedatei, sondern nur der Stub. Aber ich brauche doch zwei Iterationen, ich kann ja nicht Stub und Skeleton auf einmal erstellen. Aber die zweite Iteration scheint ignoriert zu werden. Hat jemand das selbe Problem (und eine Lösung dafür)?
Danke
naja das sollte sich aus dem ausgabedateinamen herleiten lassen
Verstehe ich nicht, wie meinst du das? Ich habe auch schon versucht, in der zweiten ‚Iteration‘ in eine andere Datei zu schreiben, das funktioniert aber nicht, die zweite Datei wird gar nicht erstellt. Wie hast du das gemacht? Du hast doch bestimmt auch zwei ‚Iterationen‘, eine für den Stub und eine für das Skeleton.
die dritte komponente im FILE tag ist das suffix der datei, die angelegt wird.
funktioniert hier einwandfrei.