Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: oz am 06.10.05 - 09:32:43
-
Hallo Forum,
Ich verwende die NSFDbOpen aus der C-API. Hierzu gibt es folgende Deklarationen:
Declare Function NSFDbOpen Lib "nnotes" Alias "NSFDbOpen" (_
Byval filename As String, _
hDB As Long)_
As Integer
Declare Function OSPathNetConstruct Lib "nnotes" Alias "OSPathNetConstruct" (_
Byval port As Long, _
Byval server As String, _
Byval filename As String, _
Byval ret As String) _
As Integer
Diese verwende ich dann folgendermaßen:
Set target = ses.GetDatabase("","C:\DOCUME~1\SCHPF~1\LOCALS~1\Temp\DWC2N\66C3C85EAE90442CC125708C003280E8.nsf",False)
ret% = OSPathNetConstruct(0, target.Server, target.FilePath, fullTargetPath$)
fullTargetPath gibt dann folgenden Wert zurück:
C:\Documents and Settings\Schöpf\Local Settings\Temp\DWC2N\66C3C85EAE90442CC125708C003280E8.nsf
Also das Verzeichnis mit langen Namen inklusive des Umlauts.
ret% = NSFDbOpen (fullTargetPath, dbTargetHandle)
Das öffenen der Datenbank schlägt fehl. Offensichtlich hat Notes also ein Problem mit Umlauten in Verzeichnisnamen. Hat jemand hierfür eine Lösung, außer natürlich die, keine Umlaute zu verweden?
Gruß Oz
-
Evtl. könntest Du versuchen die Umlaute durch chrs zu umschreiben - keine Ahnung, ob das funktioniert.
-
Die Function war falsch declared:
Declare Function NSFDbOpen Lib "nnotes" Alias "NSFDbOpen" (_
Byval dbName As Lmbcs String, _
hDB As Long)_
As Integer
Muss es heißen. Der String muss also also LMBCS (lokalisierter) String gekennzeichnet sein.
Das wars
Gruß
Oz