Scripting interface

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Scripting interface

Ian Bartholomew-4
I evaluated ....

(Smalltalk
    at: #IFileSystem
    ifAbsent:
        [ | tlb |
        tlb := AXTypeLibraryAnalyzer open: 'scrrun.dll'.
        tlb prefix: ''.
        tlb generateInterfaceWrappers.
        Smalltalk at: #IFileSystem]) createObject:
'Scripting.FileSystemObject'.

... and noticed the following on the Transcript (although the resulting
IFileSystem class seem to do all that I wanted without errors)

Warning: Wrapper method IDictionary>>put_Item:pRetItem: not generated due to
selector clash.
Warning: Wrapper method IDictionary>>item:pRetItem: not generated due to
selector clash.

The second warning also appeared on D3 when I evaluated the same expression.

For D4.01.2 I also see the following, which look more worrying

Error: IFolder>>get_DateCreated: at line 9: undefined class
Error: IFolder>>get_DateCreated: at line 9: expecting '>'
Error: IFolder>>get_DateLastModified: at line 9: undefined class
Error: IFolder>>get_DateLastModified: at line 9: expecting '>'
Error: IFolder>>get_DateLastAccessed: at line 9: undefined class
Error: IFolder>>get_DateLastAccessed: at line 9: expecting '>'
Error: IFile>>get_DateCreated: at line 9: undefined class
Error: IFile>>get_DateCreated: at line 9: expecting '>'
Error: IFile>>get_DateLastModified: at line 9: undefined class
Error: IFile>>get_DateLastModified: at line 9: expecting '>'
Error: IFile>>get_DateLastAccessed: at line 9: undefined class
Error: IFile>>get_DateLastAccessed: at line 9: expecting '>'

Regards
    Ian


Reply | Threaded
Open this post in threaded view
|

Re: Scripting interface

Blair McGlashan
Ian

"Ian Bartholomew" <[hidden email]> wrote in message
news:OlIR6.115527$[hidden email]...

> I evaluated ....
>
> (Smalltalk
>     at: #IFileSystem
>     ifAbsent:
>         [ | tlb |
>         tlb := AXTypeLibraryAnalyzer open: 'scrrun.dll'.
>         tlb prefix: ''.
>         tlb generateInterfaceWrappers.
>         Smalltalk at: #IFileSystem]) createObject:
> 'Scripting.FileSystemObject'.
>
> ... and noticed the following on the Transcript (although the resulting
> IFileSystem class seem to do all that I wanted without errors)
>
> Warning: Wrapper method IDictionary>>put_Item:pRetItem: not generated due
to
> selector clash.
> Warning: Wrapper method IDictionary>>item:pRetItem: not generated due to
> selector clash.

These come about because the Item property has both propput and propputref
method definitions in the type library, and the analyzer does not
distinguish between them, resulting in it generating a clashing definition
for whichever of them appears second. This is in fact already record in the
bugs DB as defect no. 100, and is scheduled to be fixed in the next release.
It is probably not suitable for a patch.

> The second warning also appeared on D3 when I evaluated the same
expression.

>
> For D4.01.2 I also see the following, which look more worrying
>
> Error: IFolder>>get_DateCreated: at line 9: undefined class
> Error: IFolder>>get_DateCreated: at line 9: expecting '>'
> Error: IFolder>>get_DateLastModified: at line 9: undefined class
> Error: IFolder>>get_DateLastModified: at line 9: expecting '>'
> Error: IFolder>>get_DateLastAccessed: at line 9: undefined class
> Error: IFolder>>get_DateLastAccessed: at line 9: expecting '>'
> Error: IFile>>get_DateCreated: at line 9: undefined class
> Error: IFile>>get_DateCreated: at line 9: expecting '>'
> Error: IFile>>get_DateLastModified: at line 9: undefined class
> Error: IFile>>get_DateLastModified: at line 9: expecting '>'
> Error: IFile>>get_DateLastAccessed: at line 9: undefined class
> Error: IFile>>get_DateLastAccessed: at line 9: expecting '>'

This is due to a compiler bug - it isn't recognising one of the external
types it is supposed to. It seems to have been fixed already for the next
release, but the workaround is to simply modify the DATE class>>typeName
method to return #DATE rather than #date.

Thanks for the bug reports.

Regards

Blair