Irgendwie ja, aber nicht so. Du kannst den Linker nicht austricksen. Ein "obj.methode();" braucht eine Funktionesdefinition, wenn du die nicht lieferst, meckert der Linker. Bei virtuellen Funktionen brauchst du die Methoden nicht mal aufrufen, allein die Existenz einer in der Klassendefinition virtuell deklarierten Methode erfordert eine dem Linker zugängliche Definition.LonelyPixel hat geschrieben:Das wollte ich eben vermeiden. Irgendwie muss das doch zu schaffen sein. Dass der Code so nicht geht, ist klar. Stattdessen muss man halt irgend einen anderen Typ verwenden, auf dem man die Methoden aufrufen kann, nur nicht den hier, weil der ja nicht implementiert ist. Ich kenne RPC nur so, dass irgendeine Instanz zur Laufzeit dann ein Proxy-Objekt generiert, das die gleichen Methoden anbietet, wie das originale, aber die Aufrufe dann durch den Kommunikationskanal umleitet. Wie das mit Qt geht, weiß ich nicht.franzf hat geschrieben:Der Linker braucht bei jedem getatigten Methodenaufruf die Definition der Methode, egal wo oder wie der Aufruf stattfinden soll.
Wenn du eh schon weißt, dass du nen Proxy suchst, geh doch auf http://doc.qt.nokia.com/4.6/qtdbus.html und such nach "proxy", du landest bei "QDBusInterface".
Die Funktionsaufrufe geschenen durch die "call()"-Methode und Strings für den Methodennamen + Parameter hinten dran. Sollte dich aber nicht stören.
Objektorientierung ist aber mehr als nur "ich will jetzt nur mit genau dem Objekt arbeiten".Naja, Objektorientierung?