Good afternoon monks,

I come here before you seeking your help. The issue I have is that I can not get the getValue method working (while various other methodes and properties work fine). I have searched and played on the Mathcad end (to the extent of calling the company and requesting their help) only to find that the problem is not on that end. The VBA code they supplied me as proof that the methode works executes fine on their end. SO I went to my perl code and examined that to find nothing there either. There is only one place left to look and that is the bridge (Win32::OLE module). It has been suggested to me that there could be an issue with threads. To evaluate this I will need the help of a few brave monks being that I have no clue as to what a thread even is.

This is the Perl script:

#!/usr/ym/util/perl use Win32::OLE; #Perl "C:/documents and settings/aaron.verellen/desktop/trial2.pl" Win32::OLE->Option(Warn => 2); #use existing instance if mathcad is already running eval {$MC = Win32::OLE->GetActiveObject('Mathcad.Application')}; die "Mathcad not installed" if $@; unless (defined $MC) { $MC = Win32::OLE->new('Mathcad.Application', sub{$_[0]->Quit;}) or die "Unable to start Mathcad"; } #Open specific worksheet my $filePath = 'C:\Documents and Settings\aaron.verellen\Desktop\testM +12.xmcd'; my $WS = $MC->Worksheets; my $S = $WS->Open($filePath); #Set values on the worksheet $S->setValue('x',50); $S->setValue('y',60); $S->setValue('z',70); $S->Recalculate; my $answer1 = $S->getValue('output1'); my $answer2 = $S->getValue('output2'); print "($answer1,$answer2)\n";
Mathcad program does the following:

output1=x+y+z
output2=(x+y+z)/3

When I execute the perl script I get:

C:\>Perl "C:/documents and settings/aaron.verellen/desktop/trial2.pl" Win32::OLE(0.1709) error 0xc00000fd in METHOD/PROPERTYGET "getValue" at C:/documents and settings/aaron.verellen /desktop/trial2.pl line 30

So, is there any among you brave enough to answer this call?


In reply to Win32::OLE Help required by forgedascendant

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.