Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
Solved

# How to call a function in library code

Posted on 2004-10-14
Medium Priority
171 Views

The code

library aaaaa ;

Function Total(X, Y: Integer): Integer; stdcall;
begin
x := ChoiceQuanTiTy(x,y) ;
Total := x + y ;
end;

Function ChoiceQuanTiTy(X, Y: Integer): Integer; stdcall;
begin
if X < Y then ChoiceQuanTiTy := X else ChoiceQuanTiTy := Y;
end;

exports
Total,
ChoiceQuanTiTy ;
begin
end.

[Error] Project2.dpr(5): Undeclared identifier: 'ChoiceQuanTiTy'

Please correct for me. How to use a function in the same library
0
Question by:namcit99
• 5
• 3
• 2
• +1

LVL 17

Expert Comment

ID: 12305970
library aaaaa ;

Function ChoiceQuanTiTy(X, Y: Integer): Integer; stdcall;
begin
if X < Y then ChoiceQuanTiTy := X else ChoiceQuanTiTy := Y;
end;

Function Total(X, Y: Integer): Integer; stdcall;
begin
x := ChoiceQuanTiTy(x,y) ;
Total := x + y ;
end;

exports
Total,
ChoiceQuanTiTy ;
begin
end.

Regards, Geo
0

Author Comment

ID: 12306029

Any other ways , if we do not consider on position ?
0

Author Comment

ID: 12306048

IF do that, i already know .

Please show me the command to shutdow window. that command for shutdown depends on version of window ?

Or the command to close the active application on window.

Because i want comething to appear when they use my program but not register
0

LVL 17

Accepted Solution

geobul earned 80 total points
ID: 12306212
library aaaaa ;

Function ChoiceQuanTiTy(X, Y: Integer): Integer; stdcall; forward;

Function Total(X, Y: Integer): Integer; stdcall;
begin
x := ChoiceQuanTiTy(x,y) ;
Total := x + y ;
end;

Function ChoiceQuanTiTy(X, Y: Integer): Integer; stdcall;
begin
if X < Y then ChoiceQuanTiTy := X else ChoiceQuanTiTy := Y;
end;

exports
Total,
ChoiceQuanTiTy ;
begin
end.

You should 'consider on position'

Regards, Geo
0

LVL 4

Expert Comment

ID: 12313513
Position is everything.   Another way, which gets more compliated still....

library aaaaa ;

uses
Unit1;  //I can't be bothered to think of anything better.

begin
end;

unit Unit1;

interface

Function Total(X, Y: Integer): Integer; stdcall;
Function ChoiceQuanTiTy(X, Y: Integer): Integer; stdcall;

exports
Total,
ChoiceQuanTiTy;

implementation

Function Total(X, Y: Integer): Integer;
begin
x := ChoiceQuanTiTy(x,y) ;
Total := x + y ;
end;

Function ChoiceQuanTiTy(X, Y: Integer): Integer;
begin
if X < Y then ChoiceQuanTiTy := X else ChoiceQuanTiTy := Y;
end;

end.

I can't think of any more variations on this theme.  geobul has already covered the others.
0

Author Comment

ID: 12314858

both of answer are good. So how to send the point to both
0

Author Comment

ID: 12315011

I can not see "Split Point"
0

LVL 17

Expert Comment

ID: 12316827
Increase question points to 40 and split them. The minimum amount of points which can be assigned to an expert is 20.
0

LVL 17

Expert Comment

ID: 12319017
Guys... Please use the Result varuable...

library aaaaa ;

Function ChoiceQuanTiTy(X, Y: Integer): Integer; stdcall; forward;

Function Total(X, Y: Integer): Integer; stdcall;
begin
x := ChoiceQuanTiTy(x,y) ;
RESULT := x + y ;
end;

Function ChoiceQuanTiTy(X, Y: Integer): Integer; stdcall;
begin
if X < Y then RESULT := X else RESULT := Y;
end;

exports Total, ChoiceQuanTiTy ;
begin
end.

Borland is different here from the Pascal standard simply because it's a bit more readable. If you use ChoiceQuanTiTy instead of Result, a reader might actually think you're calling the routine again, recursively...

To split points, you need to increase the points for this Q to 40 and split it. The minimum points any expert can get is 20 points. (But my remark is for free!)
0

LVL 4

Expert Comment

ID: 12324257
my remark was for free too.   I decided not to point out the Result issue, so as not to confuse things.
0

Author Comment

ID: 12335316
thank for all consider

-)
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small printâ€¦
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usuaâ€¦
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give iâ€¦
Enter Foreign and Special Characters Enter characters you can't find on a keyboard using its ASCII code ... and learn how to make a handy reference for yourself using Excel ~ Use these codes in any Windows application! ... whether it is a Micrâ€¦
###### Suggested Courses
Course of the Month12 days, 1 hour left to enroll