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
11
Medium Priority
?
171 Views
Last Modified: 2010-04-05
Dear advisor

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
Comment
Question by:namcit99
  • 5
  • 3
  • 2
  • +1
11 Comments
 
LVL 17

Expert Comment

by:geobul
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

by:namcit99
ID: 12306029

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

Author Comment

by:namcit99
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
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 17

Accepted Solution

by:
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

by:Colin_Dawson
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

by:namcit99
ID: 12314858

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

Author Comment

by:namcit99
ID: 12315011

I can not see "Split Point"
0
 
LVL 17

Expert Comment

by:geobul
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

by:Wim ten Brink
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

by:Colin_Dawson
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

by:namcit99
ID: 12335316
thank for all consider

-)
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

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

564 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question