Hello all,

I want to use a DLL writen in Pascal to provide functions for a Excel VBA code:

The example code of my DLL is:

library CE;
{$mode objfpc}

uses
Sysutils;

function level(x1, x2: integer): integer; cdecl; export;
begin
result := x1 + 2*x2;
end;


exports
level name 'level';
end.

In VBA, I placed the following code:


Public Declare Function dlevel Lib "CE" Alias "level" (ByVal x1 As
Integer, ByVal x2 As Integer) As Integer

Function nivel(ByVal x1 As Integer, ByVal x2 As Integer) As Integer
nivel = dlevel(x1, x2)
End Function

In the sheet, I did:

=nivel(2;5)

And I got:
#value

Does someone know what is wrong?

Best regards,


-- 
Luciano de Souza

-- 
Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s 
=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ 
https://www.facebook.com/discussexcel

FORUM RULES

1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.
2) Don't post a question in the thread of another member.
3) Don't post questions regarding breaking or bypassing any security measure.
4) Acknowledge the responses you receive, good or bad.
5) Jobs posting is not allowed.
6) Sharing copyrighted material and their links is not allowed.

NOTE  : Don't ever post confidential data in a workbook. Forum owners and 
members are not responsible for any loss.
--- 
You received this message because you are subscribed to the Google Groups "MS 
EXCEL AND VBA MACROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to excel-macros+unsubscr...@googlegroups.com.
To post to this group, send email to excel-macros@googlegroups.com.
Visit this group at https://groups.google.com/group/excel-macros.
For more options, visit https://groups.google.com/d/optout.
library CE;
{$mode objfpc}

uses
Sysutils;

function level(x1, x2: integer): integer; cdecl; export;
begin
result := x1 + 2*x2;
end;


exports
level name 'level';

end.

Attachment: CE.xlsm
Description: application/vnd.ms-excel.sheet.macroenabled.12

Reply via email to