• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 76
  • Last Modified:

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
0
DSLSystems
Asked:
DSLSystems
1 Solution
 
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

Featured Post

Get quick recovery of individual SharePoint items

Free tool – Veeam Explorer for Microsoft SharePoint, enables fast, easy restores of SharePoint sites, documents, libraries and lists — all with no agents to manage and no additional licenses to buy.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now