DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Visual Basic 4 / 5 / 6 (http://www.daniweb.com/forums/forum4.html)
-   -   Other Language DLL (http://www.daniweb.com/forums/thread157052.html)

poilkjmnb Nov 13th, 2008 5:10 am
Other Language DLL
 
Hello Friends,

i m using the function to built DLL in delphi but when call it in vb 6.0 application i m not able to use this dll as reference.

Please help me. Following code which i have used to built delphi DLL.
------------------------------------------------------------------------------
library Project2;


uses
SysUtils,
Classes,
Dialogs;

{$R *.res}

const
C1 = 43941;
C2 = 16302;

var
Result : string;

function BorlandEncrypt(const S: String; Key: Word): String;
var
I: byte;
begin
SetLength(Result,Length(S));
for I := 1 to Length(S) do begin
Result[i] := char(byte(S[i]) xor (Key shr 8));
Key := (byte(Result[i]) + Key) * C1 + C2;
end;
end;

const
Alphabet : string[64] = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';

function Encode64(st : string) : string;

var
i,idx : integer;
begin
Result := '';
i := 1;
while i <= length(st) do
begin
// 1st char
idx := ord(st[i]) and $FC shr 2;
Result := Result + Alphabet[idx+1];
// 2nd char
idx := (ord(st[i]) and $3 shl 4);
if i+1 <= length(st) then idx := idx + (ord(st[i+1]) and $F0 shr 4);
Result := Result + Alphabet[idx+1];
// 3rd char
if i+1 <= length(st) then
begin
idx := (ord(st[i+1]) and $F shl 2);
if i+2 <= length(st) then idx := idx + (ord(st[i+2]) and $C0 shr 6);
Result := Result + Alphabet[idx+1];
end
else
Result := Result + '=';
// 4th char
if i+2 <= length(st) then
begin
idx := (ord(st[i+2]) and $3F);
Result := Result + Alphabet[idx+1];
end
else
Result := Result + '=';
// next source char
Inc(i,3);
end;
end;

function Encrypt(password : string) : string; StdCall;

begin
{ ----old encrypt ----
result := '';
for i := 1 to length(password) do
result := result + char( (ord(password[i]) xor 43) + 11 ); }

// new encrypt
password := BorlandEncrypt(password,17732);
Result := '<' + Encode64(password) + '>';
//Result := '<' + Encode64(password) + '>';
end;

Exports
Encrypt;

Begin
end.

debasisdas Nov 13th, 2008 10:21 am
Re: Other Language DLL
 
1.compile the dll.
2.copy the dll to system32 folder
3.register the component with windows using REGSVER32.
4.Then call the dll from vb from Project--references menu.

poilkjmnb Nov 14th, 2008 12:46 am
Re: Other Language DLL
 
Quote:

Originally Posted by debasisdas (Post 735110)
1.compile the dll.
2.copy the dll to system32 folder
3.register the component with windows using REGSVER32.
4.Then call the dll from vb from Project--references menu.

but when register the DLL it show the message entry point not found.
what can i do for this?


All times are GMT -4. The time now is 8:05 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC