Tilted Forum Project - TFP - Sexuality, Philosophy and Political Discussion

Go Back   Tilted Forum Project - TFP - Sexuality, Philosophy and Political Discussion > Interests > Tilted Technology

Reply
 
LinkBack Thread Tools
Old 10-18-2005, 08:57 AM   #1 (permalink)
Insane
 
yatzr's Avatar
 
Join Date: Apr 2003
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
__________________
Mechanical Engineers build weapons. Civil Engineers build targets.
yatzr is offline   Reply With Quote
Old 10-18-2005, 04:45 PM   #2 (permalink)
Crazy
 
Join Date: Apr 2003
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.
BAMF is offline   Reply With Quote
Old 10-19-2005, 11:22 AM   #3 (permalink)
"Officer, I was in fear for my life"
 
hrdwareguy's Avatar
 
Join Date: Apr 2003
Location: Oklahoma City
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.
__________________
Gun Control is hitting what you aim at

Aim for the TFP, Donate Today
hrdwareguy is offline   Reply With Quote
Old 10-20-2005, 05:12 PM   #4 (permalink)
Well...
 
Join Date: Apr 2003
Location: afk
Quote:
Originally Posted by hrdwareguy
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.
Actually, no it wouldn't.


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.
Leviathan[NCV] is offline   Reply With Quote
Old 10-20-2005, 06:20 PM   #5 (permalink)
Insane
 
yatzr's Avatar
 
Join Date: Apr 2003
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()
__________________
Mechanical Engineers build weapons. Civil Engineers build targets.
yatzr is offline   Reply With Quote
Reply

Bookmarks

Tags
borland, create, dll, vsnet

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT -7. The time now is 11:24 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
All text (c) 2002-2008 Tilted Forum Project
"Insignia" vBulletin 3.5 - b6gm6n - x7x7x7.com