Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Clipper on Pentium 4's 2

Status
Not open for further replies.

SM777

Technical User
Mar 7, 2001
208
GB
Clipper runs much slower on Pentium systems than on equivalent AMD systems. I believe this is to do with changes to P4's which deprecated the use of 16-bit apps.

Is there a way around this? Is it just a matter of using a better compiler / linker?

In another thread Xharbour is mentioned. Does that work?

What about Blinker etc.

At the moment I'm using clipper 5.3 with clipper tools and the basic rtlinker.


 
1) Your INCLUDE environment var isn't set correct, as the xHarbour includes are not found (?)
2) To avoid the complaint of declaration expected, I'd suggest to compile all .prg except the main module with /n switch (Clipper also has this /n switch!)
3) The main module should have a "function main() ..(current sourcelines).. return(nil)" around all executable code

HTH
TonHu
 
TonHu,

What does DRWPICK.prg(32) Error F0002 Redefinition of procedure or function: 'EDDWPK' mean?

Does this means I have the same procedure/function with same name somewhere else?

Regards,
John
 
probably? plz be aware that xHarbour doesn't have (by default) a limitation of 10 chars for var names and function names, so foobarname1 and foobarname2 are different to xH while equal to Clipper!

HTH
TonHu
 
TonHu,

I tried to change the name of the function but still I get the same error(instead of eddwpk I used wala).

What I noticed is that xharbour is trying to compile the file twice.

The function/file is called by at least 3 different modules then depending on the calling module it will executes some codes to that calling module requirements. Below is the extract of the code:

field_list[1] = "JOB+'³'+SECT+'³'+DRAWING+'³'+SC+'³'+S_F+'³'+COMMODITY+'³'+SIZ1+'³'+SIZ2+'³'+SUBCON"
DBEDIT(WT, WL, WB, WR, field_list,"eddwpk","","","",CHR(32))
SET SOFTSEEK OFF
FUNCTION eddwpk This is where the error occurs!!
PARAMETERS mode,i
PRIVATE cur_field
cur_field = field_list
DO CASE
........


Any ideas?

Regards,
John
 
TonHu,

I just went through all the modules to see if I have function eddwpk somewhere else but I only found it on one module which is the one having error.

Regards,
John
 
John,

Is the code just before the line "function eddwpk" exactly as you showed? If so, then surround it with another function like "function main ...current code up until set softseek off... return(nil)" to be sure your code doesn't try to run into the funcion eddwpk.
If this is not the case, I'm unable to see what's going on, sorry.

HTH
TonHu
 
TonHu,

The code is almost exactly the same (there other codes before the field list).

Below is the complete code from top:
PARAMETERS CALL_PRG, Mpri, Msfte
WT=8
WL=9
WB=22
WR=78
C1=SPAC(16)
Mkey=""
Mdpick=0
Mqty=0.00
SET SOFTSEEK ON
MLine3="<ENTER>=Select <ESC>=Quit F9=Find "+SPAC(25)
@ WT-6, WL-1 CLEAR TO WB+2,WR+1
@ WT-6, WL-1 TO WB+1,WR+1 DOUBLE
@ WT-5, WL+20 SAY "Drawing Detail Picklist"
@ WT-2, WL SAY "Job Sect Drawing SC S Commodity SIZ1 SIZ2 SUB"
@ WT-1, WL SAY REPLICATE(CHR(196),WR-WL+1)
@ 24,0
DECLARE field_list[1]
SELE DRW_DET
if eof()
skip-1
endif
field_list[1] = "JOB+'³'+SECT+'³'+DRAWING+'³'+SC+'³'+S_F+'³'+COMMODITY+'³'+SIZ1+'³'+SIZ2+'³'+SUBCON"
DBEDIT(WT, WL, WB, WR, field_list,"eddwpk","","","",CHR(32))
SET SOFTSEEK OFF
FUNCTION eddwpk
PARAMETERS mode,i
PRIVATE cur_field
cur_field = field_list
DO CASE


Do you think that adding a new function main will solve the problem? But adding a new main will duplicate function main on my main program.

Regards,
John
 
No, just create a "function CreatePickList", and put the "return" just before "function eddwpk", and call CreatePickList() from your main program, as you now call your source-file (picklst.prg?) as "PickLst()".

The compiler gets confused about you not having the sourcecode surrounded by function/return statements, I guess. Also you could/should compile all source with /n switch to _not_ generate a default (sourcefilename) function around the code inside the .prg file.

HTH
TonHu
 
TonHu,

What does Error: Unresolved external '_HB_FUN_CAT04L' referenced from C:\XHARBOUR\BMCS\BMCS.OBJ means?

Do you where I can find Harbour commands reference?

Thnaks.
John
 
From object BMCS you are using function CAT04L() somewhere, but the linker can't find that function in the list of objects/libs you supplied." Btw. BMCS is the first of 1..n obj's that may be calling that function, but the linker only complaints once.

HTH
TonHu
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top