Jump to content

OlmanQuesada

Mobilize.Net Staff
  • Posts

    53
  • Joined

  • Last visited

  • Days Won

    1

OlmanQuesada last won the day on March 23 2018

OlmanQuesada had the most liked content!

About OlmanQuesada

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

OlmanQuesada's Achievements

Newbie

Newbie (1/14)

  • Week One Done Rare
  • One Month Later Rare
  • One Year In Rare

Recent Badges

2

Reputation

  1. Hi It looks like your application is ready to be opened. - PreProcessInfo contains info compiled by the VBUC regarding the source application. - Upgraded. Folder with the C# converted code - UpgradedSupport. Folder with herlper classes required by the converted code. You can now go to Upgraded folder and open the VS.Net solution contained there and check the C# code. Regards, OlmanQ
  2. Hi Art, Those features are limited by the browser and the path info of the file is not accessible due to security reasons so different workarounds have to be analyzed. If you want to get more information about this product you can reach our sales engineers in our chat area in Mobilize.net.
  3. Hi, This exception is related to late-binding in VB.NET. In this case strGrpName (defined as object in the method definition) is resolved as string in runtime. There're a few options: 1. If strGrpName is always an string, then change its type from object to string in the parameter definition. This will imply the offending line has to be modified as follows: spmGrp.Value = strGrpName 2. If there's not certainty on the real type for strGrpName: it could be strng, integer or any other datatype, then, the offending line could be modified as follows: If (TypeOf strGrpName Is String) Then spmGrp.Value = Convert.ToString(strGrpName) end if Additional if-statements must be added for the other possible types of strGrpName.
  4. Hello Prasad, Sorry for the late response. You can use the Profiler tool that comes in VS.NEt to determine bottlenecks and performance issues. In regards with the RecordsetHelper, this is an enhanced .NET Dataset component that emulates the classic ADO recordset used in VB6. Performance issues may be related to the querie itself, infrastructure issues of the machine where either the .NET app or the DBMS are running. Also, there's a specific feature in the RecordsetHelper may affect the performance, so I'm going to elaborate deeper on this: In VB6, when a recordset is populated, the database schema for that sql operation is retrieved from the database, this is useful when the recordset data is modified (adding new rows for instance). To get the same behavior in NET, you need two database operations: - get data. This is achieved by executing DbAdapter,Fill() to populate the DataSet (the RecordsetHelper is a dataset that extends the dataset functionality) - get schema. This is achieved by executing DbAdapter,FillSchema() method (used by the recordsethelper) This addicional database operation (getting the schema) may affect the performance: If the schema is not used for an operation you can deactivate it by setting ADORecordSetHelper.LoadSchema property to false. Being a static property, be careful to set it back to true after opening the ADORecordSetHelper. C# code snippet ADORecordSetHelper RcdSet = null; RcdSet = new ADORecordSetHelper(""); RcdSet.CursorLocation = intUseClient; ADORecordSetHelper.LoadSchema = false; RcdSet.Open(strSQLStatement, m_conAdoConnection, intLockType); ADORecordSetHelper.LoadSchema = true; Recommendation If possible, identify ADORecordsetHelpers opened for reading purposes only. For each of the previous identified ADORecordsetHelpers apply the suggested modification described above: Before the <RecordsetHelper>.Open) method call, set the LoadSchema flag to false, and then set it back to true. Please let me know if this help you out to solve the problem. OlmanQ
  5. Hi Nishant, We're escalating this as it seems to be an ongoing project. You can reach me to my email: [email protected]
  6. Hi Nishant, We've been reviewing the issue and the code snippet. Can you provide us mofre details about the file where that code snippet is located. We look for that into our framework and the migrated code of you applicaiton but we were unable to find that piece of code.
  7. Hi Nishant, Let us review this.
  8. Thanks. Could be possible to get a video of the issue coming up? We need to reproduce the issue to analyze what is causing this.
  9. Hi Nishant, Are there any additional modifilcations performed in the Mobilize Framework? Isolating the issue would be very helpful to understand what is causing the reported issue. OlmanQ
  10. Hi Nishant. Is this related to an app migrated from VB6 to WebMap? Please, send us the the version of WebMap helpers of the migrated application. Regards, OlmanQ
  11. Hi, The VB6 code needs to add the parameter to the parameter collection before accessing the value of the parameter otherwise an error at runtime is generated. The vb6 code does not indicate how the parameter at the index 0 of the collection is created, without that the followin line in the VB6 code will crash at runtime because there's no parameter at index 0. svrqAuthorise.Parameters(0) = mvlngEntityRefToMoveFrom When that code is converted to C#, a similiar situation happens, if the parameter is not created and added to the parameter collection a crash is generated. In this case the creation of the parameter is not incuded in the VB6 code. The situation described here is not necesarrily an issue with the converted code but it could be related to a problem in the source code. To determine what is causing it's important to check when the parameter at index 0 is created and added to the parameter collection.
  12. Hi Charlie, You can solve this situation by re-migrating the code by modifying the Migration Options to use Mobilize helper classes to deal with Default Properties and Late Binding Objects, as shown in the image below. C# does not support Default Properties, so statements like cvctlAuditControl = "" in .NET will need to specify the property for the object in cvctlAuditControl to set with an empty string. The VBUC provides a mechanism to help on this: The Reflection Helper. This helper class contains a collection of .NET classes and their respective Default Property. The following sample shows how it works: VB6: Private Sub Form_Load() foo Me.Text1 foo Me.Label1 End Sub Sub foo(ctl As Control) If Not ctl Is Nothing Then ctl = "my text" End If End Sub C# public void foo(ref Control ctl) { if (ctl != null) { //UPGRADE_WARNING: (1068) ctl of type VB.Control is being forced to Scalar. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 ReflectionHelper.SetPrimitiveValue(ctl, "my text"); } } The Upgrade Warning 1068 indicates there's a situation, in this case caused due to a Default property in VB6. The ReflectionHelper.SetPrimitiveValue extract the datatype of the ctl object and then look for the associated Default Property (if any) to assign the "my text" value to that property.
  13. Hi Aldebaran, I recommend to run the migration again and running the pre-process step before We would like you to run the migration again from scratch, making sure you have all the references right and you run the preprocess. Please make sure the ADODB reference is resolved and make sure the output folder is empty before running the migration process: Go to the "Upgrade area", right click on the project and select "Preprocess Project" option, then, when the Preprocess ends, you can upgrade the code again.
  14. Hi Aldebaran, I created a single vb6 project with a class having a similar property definition as you indicates and it doesn't compile: The vb6 compiler doesn't like having two property methods Get and Let with parameters. Do you mind if share with me (via email) the file where Duty property is defined? Also, which version of the VBUC you're using. Regards, OlmanQ
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use