These libraries need to be registered with regasm.exe and not regsvr.
DLLRegister and unregister are not present.
I can load this dll via the progid but not via NEWCOM LIB ....
Is there a 'maybe' here to get that working somehow?
Prog, class and interface guid are present in the tlb file.
' Generated by: PowerBASIC COM Browser v.2.00.0070
' Date & Time : 25-9-2009 at 13:58
' ------------------------------------------------
' Library Name: DictionarySheet
' Library File: V:\Programming\dotnet\DictionarySheet\App_Code\DictionarySheet.tlb
' Description :
' GUID : {A83262AE-19D5-30C2-8206-A05A54111B5F}
' LCID : 0
' Version : 1.0
' Version Dependent ProgID's
$PROGID_DictionarySheet_DictionarySheet = "DictionarySheet"
' Class Indentifiers
$CLSID_DictionarySheet_DictionarySheet = Guid$("{9E5E5FB2-219D-4EE7-AB27-E4DBED8E123E}")
' Interface Indentifiers
$IID_DictionarySheet_DBCOM_Interface = Guid$("{694C1820-04B6-4988-928F-FD858B95C880}")
' Interface Name : DBCOM_Interface
' Class Name : DictionarySheet
' ClassID : $CLSID_DictionarySheet_DictionarySheet
Interface DBCOM_Interface $IID_DictionarySheet_DBCOM_Interface
Inherit IDispatch
Method AddItem <1> (ByVal Row As Long, ByVal Col As Long, ByVal value As Variant) As Integer
Method Clear <2> ()
End Interface
Don't know. Maybe it creates dependencies and/or additional registry entries.
Will you help me a little speeding up things?
I had this example in .NET which adds items in just 2 seconds(!)
( http://www.hellobasic.com/cgi-bin/forum/YaBB.pl?board=vd;action=display;num=1253876907 )
I am now trying to do this like:
Local nRow As Long
Local nCol As Long
Local vKey As Variant
Local vData As Variant
Local d As IDictionary
d = NewCom CLSID $CLSID_Dictionary
For nRow = 1 To 1000000
For nCol = 1 To 10
vKey = Format$( nRow ) & ", " & Format$( nCol )
vData = "gggggg"
d.Add (vKey, vData)
Next
Next
vdata = Empty
vdata = d.Item( vKey )
MsgBox Variant$( vdata )
It's absurd slow, it takes minutes.
(6 minutes and still running actually :) )
If you need something what compiles, let me know.
I don't see any way of speeding it. Calling a method using late binding and variants ten million times obviously takes a long time. Don't know what .NET does to do it in only 2 seconds,
Avoid string concatenation, try using BUILD$
...
>Calling a method using late binding
No, it is using an interface definition, thus early binding..
These parameters however are variants.
>Don't know what .NET does to do it in only 2 seconds
My collegue uses this dictionary part in .NET often, I was truly suprised about it's speed.
Been busy for some time but i don't see a way to gain real speed, i'll try the build$ as well but i read that scripting.dictionary is slower than some js variant, don't know where to access this one however.
I did some testing, still with my com overhead it is fatser than the scripting fella.
12 seconds vs 101.
Both are poor.
Oh now i see, the topic is about using .NET but my latest code was using scripting, the code is compileable.
I may have confused you.