Recompiling Old Summer87 Program

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

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!

Well, I can't ensure the source code you're trying to compile belongs to the current production application...

A Clipper 5.xx generated application displays some info if you ask for it. The production application you have probably paints the screen as soon as it starts.

Lets ask and try to record the information. At the command prompt of your production environment call your application and supply the parameter //INFO in it's command line, sending output to a file. For example: C:\LETTER.EXE //INFO > C:\Info.txt

Edit the C:\Info.txt. If your .EXE is 5.xx version, you'll se some lines inside it and probably your source code belongs to it.
[]´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 »

I was going to replace the functions until i found them. Now, it just gives the error for those 2 external symbols. When I tried the example, I got "Access Denied" which is strange.
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 »

I fixed the "Access Denied". When I hit enter this time, I received the error: Error Base/1001 Undefined Function Get_USERID.
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 »

Error Base/1001 Undefined Function Get_USERID.
Did you fixed it ? If not, seems you do not read what I write... see my message again

You can make your own function. Just to see the program errors and it behaviour... then when you know well each function does, you can try to reproduce same efect...
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 »

I'm sorry! I meant Alxsts's example. I have a bad habit of answering you both at the same time. Sorry.
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's confusing...

What do you intend to do? Keep S'87 or continue trying 5.2e? I repeat: someone has already upgraded the source code to 5.xx as I showed above. There should exist a 5.xx installation in some company's computer, done before the one you made.

When I write 5.xx I mean one of the Clipper 5 versions: 5.0, 5.01, 5.2, 5.2a, 5.2b, 5.2c, 5.2d or 5.2d
[]´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 »

Yes is confusing, because we still thinking that we could back to Summer, but we do not sure all files are complete in development folder exists by complete. I said that probably would it be better to continue in Summer, because is still ocurreing missing functions that could only exist in lib for Summer version, which are not reusable in Clipper 5. So far, seems some step forward have been rearched with Clipper 5, then my advice is still continue with Clipper 5 because by the main reason Summer utilized in actual Operational Systems (as WinXp). But however if this system must to run in 32 bits under Windows 7 for that user: then I will adviced you to compile in Harbour, wich is more powerfull, more options for USB printers, API access, C code can be inserted at source code. Don´t you think the same Alexandre ?

In both case (Clipper or Harbour) you will need to reproduce those functions are missing. Which I believe is in LIB for Summer. So, by this mean reason, you will need to create this function even been without instructions, create only it names just for compiling option I see how the program is running. After this, you must develop it according what you note it behavior in running.
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 »

I am going to continue to try and compile in Clipper 5. I believe you are right and that it was compiled in Clipper 5 by the other programmer. With that thought, I went ahead and searched for more libraries and found a more recent dated DGS_UTIL.LIB and DOR_UTIL.LIB. Now, I receive these errors:

Código: Selecionar todos

UNDEFINED SYMBOL(S) AFTER LIBRARY SEARCH:
        SYMBOL                                          FIRST REFERENCE
        ------                                          ---------------
        'READKILL'                                      LETTER.OBJ
        'OL_YIELD'                                      DGS_UTIL.LIB
        'SWPRUNCMD'                                 DGS_UTIL.LIB
        '_int86'                                           DOR_UTIL.LIB
        'OL_AUTOYIE'                                  DOR_UTIL.LIB
Do these look familiar?? A weird thing that is happening that I don't understand is that "READKILL" is being called from the Letter.obj and I don't know how it got in there. It's not in the LETTER.PRG and I can't find it anywhere.
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 thought I would be smart and put those undefined symbols in a .PRG to end these errors so i could get the program compiled and the .EXE up and running but.........yes, the errors went away and it compiled but the system comes up with nothing on it. So.......maybe I do need these. I will try to create my own functions now like suggested. I don't know how to program in Clipper so this may take a while.
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 »

Do these look familiar?? A weird thing that is happening that I don't understand is that "READKILL" is being called from the Letter.obj and I don't know how it got in there. It's not in the LETTER.PRG and I can't find it anywhere.
Ummm I believe, you have a LETTER.OBJ already, probably compiled in Summer and you are still tryng to link thru RTLINK with this OBJ. In order hand, you thought you have been compiled with Clipper 5 but not. So please check at line command:

CLIPPER LETTER

What is going to be the result.

---

By theseUNDEFINED SYMBOL(S):

READKILL - s a function that lets you control whether or not to terminate the current READ. (I have never used). Here to see more details Here at "Busca" you will find some topics mentioned about this function. At internet says it is Clipper, and here is it source code:

Código: Selecionar todos

function READKILL( Arg1 )
   local Local1 := Static3
   if ( PCount() > 0 )
      Static3 := Arg1
   endif
   return Local1
OL_YIELD - It is from OSLIB and this function returns a time slice back to the operating system. see more details here
SWPRUNCMD - It is meaning that was used BLINKER internal function. It is similar than RUN in clipper, but this better way because uses in safe mode regarding memory use.
_int86 - I am not sure but I believe this could be used by lib NanFor
OL_AUTOYIE - - It is from OSLIB and automaticly return times slices back to the OS. see more details here
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!

A call to the function SWPRUNCMD() in your source code reinforces the fact that someone has compiled it using Clipper 5.xx. And more: Blinker was used as the linker.

Maybe, if you research in all your machines, you find the blinker.exe program. If so, there is a chance to find the .PRG files together...
[]´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 »

Thank you both!! I will look into all of this and search for the BLINKER.EXE and let you know what I find 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 »

I believe you are right and that it was compiled in Clipper 5 by the other programmer.
Yes we are most quite sure that it is compiled by Clipper 5. As I said and alxsts confirmed SWPRUNCMD is from BLINKER. So in that case, please replace in your compilations:

RTLINK FI ...

by

BLINKER FI ...

So you will need BLINKER. Please download and install this version 7, from here and copy files: BLINKER.DLL, BLINKER.EXE and BLINKER.INI at C:\CLIPPER5\BIN
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 »

Ok, after now using Blinker.exe, much searching for DGS_UTIL.LIB and DOR_UTIL.LIB, I found these 2 listed under another directory. They are older than the ones I was using but they took all errors away except for this one:

C:\LET_1902>BLINKER FILE LETTER.OBJ LIB DGS_UTIL.LIB, DOR_UTIL.LIB, CT.LIB OUTP
UT l04252k.EXE
__ __
(«») («») BLINKER DOS Extender and Windows Linker 7.00

___ Blink and you'll miss it !!

Copyright (c) Assembler Software Manufacturers, Inc. 1990-2002
All Rights Reserved. Serial # BR-055934. Fax (804) 784-2357.

BLINKER : overlay opsize set to 40 Kb - minimum is 15 Kb (U_SCROLL)<<<---Not sure what this means??

BLINKER : 1115 : DGS_UTIL.LIB(COM1_RDY) : '_INT86' : unresolved external

BLINKER : 0 Warning error(s), 1 Fatal error(s)

L04252K.EXE (not created) (0.1 seconds)

My .BAT file stores this:

SET INCLUDE=C:\CLIPPER\INCLUDE
SET LIB=C:\CLIPPER\LIB
SET OBJ=C:\CLIPPER\OBJ
SET PLL=C:\CLIPPER\PLL
PATH=%PATH%;C:\CLIPPER\BIN;
SET CLIPPER=F190

C:\CLIPPER\BIN\clipper letter.prg -l -m

BLINKER FILE LETTER.OBJ LIB DGS_UTIL.LIB, DOR_UTIL.LIB, CT.LIB OUTPUT l04252k.EXE

I am going to research this _Int86 and see what I can find.
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:C:\CLIPPER\BIN\clipper letter.prg -l -m
When you done this. What it is happen ?

I repeat: I believe that you have NOT been made a NEW OBJ. Seems you are using in your linking with BLINKER same OLD LETTER.OBJ. Please, be sure you are using a new Clipper compiling to re-create a NEW obj.

I also note you should not use: clipper letter.prg -l -m you must use: clipper letter -l -m (without .prg)

Please revert with these observations token by me in messages before...
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