VS 2008 ve Windows 7 kullanıyorum.
COM nesnesi olarak görünen bir .NET C# sınıfına sahip oldum.VBScript'ten .NET COM nesnesi çağrılıyor
[Guid("E5014B85-FCB2-4F0D-95EC-F741395A7923")]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface DSystem
{
[DispId(1610809354)]
void setProperties(IDictionary propertymap);
}
COM nesnesi bir VBScript
dim dSystem
set dSystem = CreateObject("MYCOMOBJECT")
Dim objDictionary
Set objDictionary = CreateObject("System.Collections.Hashtable")
objDictionary.Add "PROP1", "abc"
objDictionary.Add "PROP2", "zyx"
dSystem.setProperties(objDictionary)
Herşey çağrılır bool
[DispId(1610809354)]
bool setProperties(IDictionary propertymap);
ve
success = dSystem.setProperties(objDictionary)
için
void
den bir dönüş türü değişikliği, gayet iyi çalışıyor ... ama
bir hatayı neden
Microsoft VBScript çalışma zamanı hatası '800a0005'
Geçersiz yordam çağrısı veya değişken
.tlb dosyası ok gibi görünüyor
[id(0x6003000a)]
HRESULT setProperties(
[in] IDictionary* propertymap,
[out, retval] VARIANT_BOOL* pRetVal);
Neyi yanlış yapıyorum?
Herkes bana bir ipucu verebilir mi?
Bu yeni soru çok sorulur. – sharptooth