Frage:
Ich habe einen "Ableger" meines 3D Editors gemacht indem ich die *.sln und *.vcproj kopiert habe und dort Änderungen in den Eigenschaften gemacht habe. Ist dies erlaubt, wenn nein, was kann passieren und wie macht man es richtig? Ausserdem benutzt der "Ableger" die selbe CLSId. Unter welchen Umständen ist das erlaubt? Wenn ich z.B. das ursprüngliche Programm umbenenne und ausführe funktioniert es ja auch und selbst Weiterentwicklungem die Z.B. das Format des Documents geändert haben, haben nie solche Probleme (s.u.) gemacht.
Details:
Der 3D Editor registriert sich als OLE Server. Eine Delphi Applikation greift drauf zu. Das lief auch über Jahre wunderbar. Jetzt habe ich wie oben gesagt eine zweite exe mit anderem Namen im Prinzip aus der selben *.sln gemacht. Sie hat als Hauptänderung unter Linker / System / SubSystem "Console" eingetragen, da ich in der MFC Applikation eine Console für Python Fehlermeldungen öffne. "SubSystem "Console" " in einer MFC Applikation nutzt Mike Balsciak (sp?) auch in einem Beispiel, was darauf hindeutet dass es nicht falsch ist.
Ich kann die MSVC generierte exe problemlos manuell starten. Wenn ich versuche, sie aus der Delphi Applikation per OLE aufzurufen, bekomme ich die hilfreiche
Fehlermeldung "Fehler in der DLL.".
Vermutung:
Es gibt ja GUIDs in *.sln und/oder *.vcproj sowie die DLSID (auch eine GUID) welche in einem *.cpp hardcodiert ist. Kann irgend etwas übles passieren wenn zwei "verschiedene" (was immer das heisst...) Programme die selben GUIDs nutzen?