Post Reply 
compile order problem
09-26-2015, 01:42 PM
Post: #1
compile order problem
order problem

EXPORT TX=0;

//EXPORT TOTTER; //doesnt work
//EXPORT TOTTER(); //doesnt work

EXPORT TEETER()
BEGIN
IF TX>4 THEN
RETURN TX;
ELSE
TOTTER(); // <- error here
END;
END;



EXPORT TOTTER()
BEGIN
IF TX>4 THEN
TX:=TX+1;
RETURN TX;
ELSE
TEETER();
END;


Does anyone know how to make this compile?
Its not about recursion but about order of compilation and lack of declarations.
I have seversl "files" whick cross call routines and csnt conrol the order. of compilation.

Using two different files also fails since neither succeeds.

I work with android Prime only for now on my
Galaxy Tab Pro/Note 2
Find all posts by this user
Quote this message in a reply
09-26-2015, 02:25 PM (This post was last modified: 09-26-2015 02:30 PM by DrD.)
Post: #2
RE: compile order problem
One way:

Code:

TOTTER();
LOCAL TX;

EXPORT TEETER()
BEGIN
  IF TX>4 THEN
    RETURN TX;
  ELSE
    TX:=TOTTER(); // <- 
  END;
  TEETER();
END;

TOTTER()
BEGIN
  TX:=TX+1;
END;

-Dale-
Find all posts by this user
Quote this message in a reply
09-26-2015, 02:27 PM (This post was last modified: 09-26-2015 02:29 PM by xset.)
Post: #3
RE: compile order problem
The solution:

EXPORT TX=0;

TOTTER(); // forward declaration, no need for EXPORT here


EXPORT TEETER()
BEGIN
IF TX>4 THEN
RETURN TX;
ELSE
TOTTER(); // no error
END;
END;



EXPORT TOTTER()
BEGIN
IF TX>4 THEN
TX:=TX+1;
RETURN TX;
ELSE
TEETER();
END; // u forgot second END here ???
END;
Find all posts by this user
Quote this message in a reply
09-26-2015, 02:34 PM
Post: #4
RE: compile order problem
Thanx to both.

Didnt try the bare decl.

If they are in different files will export work.?

I work with android Prime only for now on my
Galaxy Tab Pro/Note 2
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 2 Guest(s)