Zu deiner zweiten Frage:
Ja, sie sind komplett anders. Wenn du die
VCL benutzt, benutzt du das "richtige"
DirectX (als Dokumentation kannst du hier das
DirectX SDK für C++ heranziehen). Wenn du die
FCL benutzt, benutzt du typischerweise Managed
DirectX (hier heißt die Dokumentation
DirectX for Managed Languages). Managed
DirectX verwendet zwar intern das
COM-
DirectX, kapselt allerdings alles (insbesondere D3DX) in eigenen Klassen, die somit inkompatibel zu den "richtigen" Klassen bzw.
COM-Schnittstellen sind. Du kannst aber auch in .NET das
COM-
DirectX benutzen (da kann ich dir aber nicht sagen, wie
)