Laden einer Project-Datei
[Diese API wird nicht unterstützt und kann in Zukunft geändert oder nicht mehr verfügbar sein.]
Zum Laden einer Projektdatei benötigen Sie zwei Komponenten: den XML-Parser und eine leere Zeitachse. Der XML-Parser liest eine XML-Projektdatei und erstellt jedes in der Datei definierte Objekt. Anschließend werden die Objekte in die Zeitachse eingefügt und alle Zeitachsenattribute festgelegt, z. B. die Standardbildfrequenz. Im folgenden Codebeispiel wird eine Datei geladen.
HRESULT hr;
IAMTimeline *pTL = NULL;
IXml2Dex *pXML = NULL;
hr = CoCreateInstance(CLSID_AMTimeline, NULL, CLSCTX_INPROC_SERVER,
IID_IAMTimeline, (void**)&pTL);
hr = CoCreateInstance(CLSID_Xml2Dex, NULL, CLSCTX_INPROC_SERVER,
IID_IXml2Dex, (void**)&pXML);
BSTR bstrFile = SysAllocStringLen(OLESTR("C:\\example.xtl"), 15);
hr = pXML->ReadXMLFile(pTL, bstrFile);
SysFreeString(bstrFile);
pXML->Release();
Der Parser macht die IXml2Dex-Schnittstelle verfügbar, die Methoden zum Laden und Speichern von Projektdateien enthält. Die Zeitachse macht die IAMTimeline-Schnittstelle verfügbar, die Methoden zum Bearbeiten der Zeitachse und zum Erstellen neuer Zeitachsenobjekte enthält. Rufen Sie die CoCreateInstance-Funktion auf, um die einzelnen Komponenten wie gezeigt zu erstellen. Denken Sie daran, dass Sie durch das Erstellen einer neuen -Instanz den Verweiszähler für die Schnittstelle erhöhen. Um Speicherverluste zu vermeiden, geben Sie immer eine Schnittstelle frei, wenn Sie damit durchgehen. In diesem Beispiel wird der Zeiger auf IXml2Dex nicht mehr benötigt, sodass Sie die -Schnittstelle freigeben können. Der Zeiger auf IAMTimeline ist weiterhin für die Vorschau der Zeitachse erforderlich.
Die IXml2Dex::ReadXMLFile-Methode liest die angegebene Datei und füllt die Zeitachse mit den in der Datei definierten Objekten auf. Der Dateiname wird mithilfe eines BSTR-Werts angegeben. Um das Beispiel zu verkürzen, wird der Dateiname im Beispiel als Literalzeichenfolge angegeben. Normalerweise erhalten Sie sie über ein Dialogfeld "Datei öffnen" oder etwas ähnliches.
Wenn die ReadXML-Methode erfolgreich ist, wird ein Erfolgscode zurückgegeben. Andernfalls wird ein Fehlercode wie VFW _ E INVALID FILE FORMAT _ _ _ zurückgegeben. Überprüfen Sie immer den Rückgabewert, um Fehlerbedingungen ordnungsgemäß zu behandeln. Aus Gründen der Kürze überprüft der Beispielcode nicht auf Fehler.