VB.NET class in Delphi.NET

Hi,

I have a VB.NET class which I want to use in my Delphi.net web application.
Can this be done or do I have to rewrite the class in Delphi.NET?

Cheers
Nathan
nathc100Asked:
Who is Participating?
 
Bob LearnedConnect With a Mentor Commented:
Here's my best guess (using Reflector):

procedure Form1.SetColumns(inNum: TObject);
var
      obj1: TObject;
      obj4: TObject;
begin
      if (Operators.ConditionalCompareObjectGreater(inNum, 0, false)) then
      begin
            self.mWidths := (Utils.CopyArray((self.mWidths as Array), New(array[(Conversions.ToInteger(Operators.SubtractObject(inNum, 1)) + 1)] of Integer)) as Integer[]);
            if (ForLoopControl.ForLoopInitObj(obj1, (self.mColumns - 1), Operators.SubtractObject(inNum, 1), 1, @(obj4), @(obj1))) then
                  repeat
                        if (Operators.ConditionalCompareObjectGreaterEqual(obj1, 0, false)) then
                              self.mWidths[Conversions.ToInteger(obj1)] := 1
                        until not ForLoopControl.ForNextCheckObj(obj1, obj4, @(obj1));
                  self.mColumns := Conversions.ToInteger(inNum)
            end
      end;

Bob
0
 
Bob LearnedCommented:
You should be able to create a VB.NET DLL that you could reference in the Delphi application.

Bob
0
 
nathc100Author Commented:
Hmmm OK I'm thinking I'll just convert to Delphi the VB(it's actually VB not VB.NET) class isn't too long or complicated.
Do you have any experience with Delphi.NET and writing classes?
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
Bob LearnedCommented:
No, unfortunately I haven't had the time nor the inclination to learn.  It might be possible to convert the VB class to VB.NET, build a DLL, and then use Reflector + File Disassembler to get Delphi.NET code that would give you a place to start.

Bob
0
 
nathc100Author Commented:
OK Bob,

Here's a curly one if you can give me the answer I'll give you the points.
How do I convert the VB statement "Redim Preserve" into Delphi syntax?

e.g

Public Sub SetColumns(inNum)
  Dim i
  If inNum > 0 Then
    ReDim Preserve mWidths(inNum - 1)
    For i = (mColumns - 1) To (inNum - 1)
      If i >= 0 Then mWidths(i) = 1
    Next
    mColumns = inNum
  End If
End Sub
0
 
nathc100Author Commented:
Hey Bob,

I actually found a very easy way to do it just using SetLength(mWidths,inNum-1) as my array is dynamic.
But I'm true to my word so you get the points. Thanks for your help.
0
All Courses

From novice to tech pro — start learning today.