syntax question in dealing with .Net api

  • Thread starter Thread starter trillich
  • Start date Start date
T

trillich

hi -- not sure where the best place would be to post this; please
point me elsewhere if there's another list more apropos...

we've got two apps, one in java, one in .Net, and we're trying to put
some glue together to transfer data back and forth between them:

- reading data FROM the .Net application is easy
- writing data TO the .Net application is a puzzle...

to read data from within VB, we can use syntax like VAR =
OBJ.METHOD(PARAMS) and to write fields to an object from within VB
it's also simple: OBJ.METHOD(PARAMS) = VAL.

only the read-style syntax works in exterior languages (Perl is our
platform for proof-of-concept):

$val = $obj->method("param");

but the write-style syntax needs something different:

$obj->method("param") = $expr; # no way

is there a standardized "write-to" syntax that non-VB languages can
take advantages?

$obj->method("param")->let($expr); # for example
$obj->let($expr)->method("param"); # for example
$obj->let_method("param",$expr); # for example

anybody know a FAQ or URL that'll point us in the right direction?
 
hi -- not sure where the best place would be to post this; please
point me elsewhere if there's another list more apropos...

we've got two apps, one in java, one in .Net, and we're trying to put
some glue together to transfer data back and forth between them:

- reading data FROM the .Net application is easy
- writing data TO the .Net application is a puzzle...

to read data from within VB, we can use syntax like VAR =
OBJ.METHOD(PARAMS) and to write fields to an object from within VB
it's also simple: OBJ.METHOD(PARAMS) = VAL.

only the read-style syntax works in exterior languages (Perl is our
platform for proof-of-concept):

$val = $obj->method("param");

but the write-style syntax needs something different:

$obj->method("param") = $expr; # no way

is there a standardized "write-to" syntax that non-VB languages can
take advantages?

$obj->method("param")->let($expr); # for example
$obj->let($expr)->method("param"); # for example
$obj->let_method("param",$expr); # for example

anybody know a FAQ or URL that'll point us in the right direction?
SOLVED:
I don't know much about .Net, but when you say 'fields' here are you
referring to what Microsoft call 'properties' in OLE/COM? In that case,
that standard way to access COM objects from Perl is to use the
Win32::OLE module, which provides the syntax
$obj->LetProperty('method', 'param', $expr);
to perform what you are asking for above. See the docs for Win32::OLE.

Win32::OLE manpage includes

"""
The SetProperty() method allows to modify properties with
arguments, which is not supported by the hash syntax. The hash form

$Object->{Property} = $Value;

is equivalent to

$Object->SetProperty('Property', $Value);
"""

so... if we're reading values via

$stu = $students->Item( $ix );
$fname = $stu->Fields( 31 );

that implies that maybe we can do

$stu->LetProperty('Fields',31,'Beelzebub');

but there's no way that...

it works! it really works! hoorah!
 
Back
Top