![]() |
need to create a DLL in VS.NET to use in Borland C++
I have some code for a random number generator written in VB.NET. It makes a few microsoft exclusive calls as well. I need to implement it in Borland C++ Builder, and I was told the easiest way to do it would be to make a DLL in VS.NET and use it in the Borland program. I have very little experience with VS.NET and no experience using DLL's so any help to get me going is greatly appreciated.
I guess the other route I can take though is to figure out how to implement it directly in borland. The exclusive calls are: Dim rng As New RNGCryptoServiceProvider rng.GetBytes(someByteArray) ..... I don't understand what the GetBytes does Dim sha512 As New SHA512Managed sha512.ComputeHash(someOtherByteArray) if anyone knows some borland equivalents for those, that would work too. Thanks |
When I write DLLs in c# (using .net) to use in Excel macros I need to set the COM interprated (I know this is wrong, but the COm part is right) to TRUE when I compile. Its is kindof hard to find the option to set this.
|
Not pretty but it would work:
In your C++ Builder, call the executable VS code. Have the VS code write the output to a file. Then read the output file in C++ Builder and delete the temp file. |
Quote:
The only option for you here is to use a CCW (com callable wrapper) and then use com inside of your borland C++ app. There's no good way to call managed code from an umanaged program. |
i'm thinking it would just be easier to try to do it in borland directly now. here's the original code, it looks simple enough there's got to be a way to do it in borland
Dim i As Integer Dim PerfCtr(3) As Byte Dim OutCtr As Long Dim FinalArray() As Byte Dim CtrOK As Boolean Dim BC As BitConverter Dim Rand64(63) As Byte Dim rng As New RNGCryptoServiceProvider For i = 0 To 500 ' A call to Performance Counter produces a 32 bit word OutCtr ' There are rare instances where the hardware vendor botches support for a high performance counter CtrOK = QueryPerformanceCounter(OutCtr) If Not CtrOK Then Throw New System.Exception("Flaky system, try again- use new hardware if it continues") ' Turn the 32 bits into 4 bytes and place in byte array PerfCtr PerfCtr = BC.GetBytes(OutCtr) FinalArray = ArrayConcat(FinalArray, PerfCtr) rng.GetBytes(Rand64) FinalArray = ArrayConcat(FinalArray, Rand64) Next ' Hash the stuff Dim FinalHash() As Byte Dim sha512 As New SHA512Managed FinalHash = sha512.ComputeHash(FinalArray) sha512.Clear() |
All times are GMT -8. The time now is 02:35 PM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project