Página 3 de 7

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 12:09
por marge0512
Ok, I took out the Clipper.Lib and Extend.Lib and changed the name of Function.prg to Letfunction.prg.
I tried the .BAT and .LNK files and I am getting "Compiling ok....". But, the program will not link because I am having a hard time finding all of the Undefined Symbols. I have another question, is there any way I can edit a library?

Thanks!

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 12:18
por marge0512
Oh, and I think I should elaborate more on why I want to edit a library.........I found a library we use that I can include which would eliminate most, if not all, of the undefined symbols. There are 2 that i do not need and I want to take them out because I cannot find them anywhere.

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 12:36
por alxsts
Hi!

I don't understand: why do you have to modify LIB files? There are some tools that can be used. One I like is Explorer Lib.

Which undefined symbols did you get? Send the list enclosed in code tags (buttom "Code" in the posting panel toolbar).

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 12:47
por marge0512
Hi! I am getting the following:

Código: Selecionar todos

UNDEFINED SYMBOL(S) AFTER LIBRARY SEARCH:
        SYMBOL                                          FIRST REFERENCE
        ------                                          ---------------
        'SEC_CHEK'                                      LETTER.OBJ
        'GET_USERID'                                   LETTER.OBJ
        'U_ACCESS'                                      LETTER.OBJ
        'MENU_H'                                         LETTER.OBJ
        'SCRL2MNU'                                     LETTER.OBJ
        'U_MENU'                                         LETTER.OBJ

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 13:17
por alxsts
Hi!

It seems there is a missing user defined lib which contains those symbols. This lib will be necessary in order to build the application and it can't be found ouside your company... Try to find it.

In your topic "Printing logo", you said this is a simple letter printing program. Would not it be better to rewrite it in another language?

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 13:33
por Pablo César
marge0512 escreveu:changed the name of Function.prg to Letfunction.prg
In Clipper, better use file names in 8x3 format. The name choosen Letfunction.prg is 11x3 (long name), better pass to short name.

Código: Selecionar todos

UNDEFINED SYMBOL(S) AFTER LIBRARY SEARCH:
        SYMBOL                                          FIRST REFERENCE
        ------                                          ---------------
        'SEC_CHEK'                                      LETTER.OBJ
        'GET_USERID'                                   LETTER.OBJ
        'U_ACCESS'                                      LETTER.OBJ
        'MENU_H'                                         LETTER.OBJ
        'SCRL2MNU'                                     LETTER.OBJ
        'U_MENU'                                         LETTER.OBJ
For these missing functions, you can create empty function with each names, just to see some compiling results...

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 14:18
por alxsts
Hi!

Maybe the unresolved symbols are inside this file you renamed... Try to rename it back to Function.Obj. If it worked before, why woudn't it work now?

The good news is that the CT.Lib you found is fine.

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 14:24
por Pablo César
Maybe the unresolved symbols are inside this file you renamed...
Yes probably, but by the reason it was renamed with 11x3 format file name (long name), then could be not be taken...
Try to rename it back to Function.Obj
No, do not do this, name of module it is never going to be lost... the important are functions inside the module. Please note what Norton Guide for Clipper says:
Imagem

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 14:28
por marge0512
The "Print Logo" program was a different program from this one. It was suggested that I use Harbour for that one and I did but it was a nightmare so I decided to avoid Harbour and try to recompile in Summer87 instead. This program is even smaller and the sad thing is that only one person uses it. I thought the program could easily be changed and recompiled and all would be well. Lol! I was wrong. We have many applications that need to be rewritten and this is one of them but because only one person uses it, it is pushed to the bottom of the list. Finally, the "Print Logo" program has been rewritten in Delphi. One down and a lot more to go.

I did finally find the missing library and when I recompile, I receive an Undefined Symbols error that asks for:
_VSTD and SUMMER87. I have no clue what these do but I really don't think I need those for this small application. That is why I was wondering if there is a way I can edit this library and take them out.

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 14:35
por Pablo César
So, I think we make mistake to indicate to upgrade your compilation with Clipper 5. So have you tried with Summer again ?

The main problem with Summer87 it is that nobody remember how to used it. We are also leaving Clipper 5...

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 14:41
por marge0512
Yes, I did try. That's when I got these errors:

Compiling LETTER.PRG
line 6: verb not recognized
#include "inkey.ch"
^
line 96: ASSIGNMENT error
LAYOUT_BLK={ ||[ ]+SubStr(Re1,1,30)+Space(02)+DtoC(Date)+Space(02)+Ref_No+[ ] }
^

2 errors
Code Pass 1
Code Pass 2
Code size 4686, Symbols 1728, Constants 3154

I thought maybe the "#" and "{"could be changed to something recognizable to the compiler. I was using PLINK86 but I'm willing to try any linker.

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 15:22
por marge0512
Well, I used the Explorer editor and learned that _VSTD and SUMMER87 are External Symbols. I guess there is no way I can get rid of them so is there a way I can add them? If so, where would they belong?

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 15:24
por alxsts
Hi!

I think it was not a mistake to indicate the compiler upgrade because the application that is currently running in production (before Marge changed it) is a 5.xx compliant code as seen in the lines mentioned:
#include "inkey.ch" ===> this is a 5.xx pre-processor directive
LAYOUT_BLK={ ||[ ]+SubStr(Re1,1,30)+Space(02)+DtoC(Date)+Space(02)+Ref_No+[ ] } ===> this a code block been assigned to a variable
Someone upgraded the code and generated the latest version.

Don't you have another copy of this source code? Maybe it's together with the compiler, some kind of documentation...

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 15:30
por marge0512
That is my bosses biggest complaint......no one documented the systems very well. I am doing a search now to see if there is another copy. I will let you know what i find out but i have a feeling there isn't..........

Recompiling Old Summer87 Program

Enviado: 10 Mai 2012 15:31
por Pablo César
To replace these functions which are missing, you need to know their names and what it does. Then you can create SAME name function and make in Clipper or language C to create a LIB. In Harbour, it is easier to include C code inside prg and also has CT functions that you can also include. When I said: create empty function with it same names means you can do this, for example:

Write in any module of prg:

Function SEC_CHEK()
Return 0 // or Return Nil or Return .t. (depends what it needs)

Function GET_USERID()
Return GETENV("USERNAME") // I do not know if this is you case, but it works for WinXp

So then processor when using RTLINK will not claim about these functions.
Someone upgraded the code and generated the latest version.

Don't you have another copy of this source code?
Yeah this is a big point ! Some lib file or even prg is missing...