Recompiling Old Summer87 Program

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem 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!
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem 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.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Recompiling Old Summer87 Program

Mensagem 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).
[]´s
Alexandre Santos (AlxSts)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem 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
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Recompiling Old Summer87 Program

Mensagem 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?
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Recompiling Old Summer87 Program

Mensagem 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...
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Recompiling Old Summer87 Program

Mensagem 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.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Recompiling Old Summer87 Program

Mensagem 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
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem 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.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Recompiling Old Summer87 Program

Mensagem 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...
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem 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.
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem 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?
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Recompiling Old Summer87 Program

Mensagem 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...
[]´s
Alexandre Santos (AlxSts)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem 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..........
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Recompiling Old Summer87 Program

Mensagem 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...
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder