PEAddParameterCurrentValue

We have a legacy VB6 project which is being brought forward to VB.NET and it uses the Crystal Reports DLL crpe32.dll to set up and print reports.

We are using PEAddParameterCurrentValue to set the value of one of the parameters in the report. The function returns success, but the when the report prints, the parameter field is blank.

The structure being used for passing the value is as follows:

  Public Structure peValueInfo
    Dim StructSize As Short
    Dim ValueType As Short
    Dim ViNumber As Double
    Dim ViCurrency As Double
    Dim ViBoolean As Integer
    <VBFixedString(PE_VI_STRING_LEN), MarshalAs(UnmanagedType.ByValTStr, SizeConst:=PE_VI_STRING_LEN)> _
      Dim ViString As String
    <VBFixedArray(2), MarshalAs(UnmanagedType.ByValArray, SizeConst:=3)> _
      Dim ViDate() As Short
    <VBFixedArray(5), MarshalAs(UnmanagedType.ByValArray, SizeConst:=6)> _
      Dim ViDateTime() As Short
    <VBFixedArray(2), MarshalAs(UnmanagedType.ByValArray, SizeConst:=3)> _
      Dim ViTime() As Short
    Dim ViColor As Integer
    Dim ViInteger As Short
    Dim ViC As Byte
    Dim Ignored As Byte
    Dim ViLong As Integer
    Public Sub Initialize()
      ReDim ViDate(2)
      ReDim ViDateTime(5)
      ReDim ViTime(2)
    End Sub
  End Structure
DSLSystemsAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

mlmccCommented:
WHat version of Crystal are you using?

What version of VS.Net?

The .Net assemblies are different than the VB6 methods.

Here is one method

http://www.emoreau.com/Entries/Articles/2006/09/Feeding-Crystal-Reports-from-your-application.aspx

There are guides on the SAP site that show how to convert from the .COM (VB6) methods to the .Net assemblies.

If I can find them I will post the link.  I have the urls on my machine at home.

mlmcc
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Crystal Reports

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.