[Delphi] Hilfe bei Macro Übersetzung!

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Grolle
Beiträge: 3
Registriert: Sa, 05.01.2008 19:08

[Delphi] Hilfe bei Macro Übersetzung!

Beitrag von Grolle »

Hallo,

ich versuche folgendes Macro nach Delphi zu übersetzen:

Code: Alles auswählen

Sub Main

dim Args(1) as new com.sun.star.beans.PropertyValue
dim InfoArray(7) as new com.sun.star.beans.PropertyValue

InfoArray(0).name = "Extension"
InfoArray(0).Value = "txt"
InfoArray(1).name = "HeaderLine"
InfoArray(1).Value = True
InfoArray(2).name = "FieldDelimiter"
InfoArray(2).Value = ";"
InfoArray(3).name = "StringDelimiter"
InfoArray(3).Value = ""
InfoArray(4).name = "DecimalDelimiter"
InfoArray(4).Value = "."
InfoArray(5).name = "ThousandDelimiter"
InfoArray(5).Value = ","
InfoArray(6).name = "EnableSQL92Check"
InfoArray(6).Value = False
InfoArray(7).name = "PreferDosLikeLineEnds"
InfoArray(7).Value = True
loDataManager = createUnoService("com.sun.star.sdb.DatabaseContext")
loNewDatasource = loDataManager.createInstance()
loNewDatasource.URL = "sdbc:flat:C:\temp\vorlagen\"
loNewDatasource.setPropertyvalue( "Info", InfoArray() )
loNewDatasource.databaseDocument.storeAsUrl(convertToURL("C:\temp\vorlagen\adressen.odb"), Args())
loDataManager.RegisterObject("MD Adressbuch pro", loNewDatasource)
loNewDatasource.databaseDocument.store

End Sub 
Delphi Code:

Code: Alles auswählen

procedure TForm1.Button2Click(Sender: TObject);
var
infoArray, loDataManager, loNewDatasource , args: Variant;
begin
  infoArray := CreateProperties(['Extension','txt','HeaderLine',True,'FieldDelimiter',';',
                                 'StringDelimiter','','DecimalDelimiter','.','ThousandDelimiter',',',
                                 'EnableSQL92Check',False,'PreferDosLikeLineEnds',True]);
  loDataManager := createUnoService('com.sun.star.sdb.DatabaseContext');
  loNewDatasource := loDataManager.createInstance();                    ### ERROR (Ungültige Variablenoperation)
  loNewDatasource.URL := 'sdbc:flat:C\temp\vorlagen';
  loNewDatasource.Propertyvalue('Info', infoArray);
  loNewDatasource.databaseDocument.storeAsUrl(convertToUrl('C:\temp\vorlagen\adressen.odb'), args);
  loDataManager.RegisterObject('MD Adressbuch pro', loNewDatasource);
  loNewDatasource.databaseDocument.store;
end; 
In der Zeile loNewDatasource := loDataManager.createInstance(); bekomme ich eine Fehlermeldung Ungültige Variablenoperation.
Kann mir da jemand weiterhelfen?

Viele Grüße ...