1
$\begingroup$
Imports System
Imports Wolfram.NETLink

Public Class Form1
    Dim kernel1 As IKernelLink = MathLinkFactory.CreateKernelLink()

Public Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

    kernel1.Evaluate("<< StringConvertTools.x")
    kernel1.Evaluate("<< BearingCapacityCalToolBox.x")
    kernel1.WaitAndDiscardAnswer()

    MsgBox("数据加载完成", MsgBoxStyle.OkOnly, "提示")

End Sub

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click

    Dim flag,flag1 As Integer

    kernel1.Evaluate("1+2")
    kernel1.WaitForAnswer()
    flag1 = kernel1.GetInteger()

    kernel1.Evaluate("flag=1;While[Excel[""A""<>ToString[flag]]=!=Empty,flag+=1]")
    kernel1.Evaluate("flag")
    kernel1.WaitForAnswer()
    flag = kernel1.GetInteger()

End Sub
End Class

I do not know why it always give the "Error code: 3. MLGet out of sequence." when it compute the "flag1=kernel1.GetInteger()". and the value of flag1 is always "0". But I search the document of .NETLink API , it shows that we can get the value like this:

kernel1.Evaluate("1+2")
kernel1.WaitForAnswer()
Dim intResult As Integer = kernel1.GetInteger()

So, I just do not know what's wrong with my program.can you give me some help? thank U!

$\endgroup$

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.