Página 4 de 7
Recompiling Old Summer87 Program
Enviado: 10 Mai 2012 15:37
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.
Recompiling Old Summer87 Program
Enviado: 10 Mai 2012 15:47
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.
Recompiling Old Summer87 Program
Enviado: 10 Mai 2012 15:52
por marge0512
I fixed the "Access Denied". When I hit enter this time, I received the error: Error Base/1001 Undefined Function Get_USERID.
Recompiling Old Summer87 Program
Enviado: 10 Mai 2012 16:09
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...
Recompiling Old Summer87 Program
Enviado: 10 Mai 2012 16:17
por marge0512
I'm sorry! I meant Alxsts's example. I have a bad habit of answering you both at the same time. Sorry.
Recompiling Old Summer87 Program
Enviado: 11 Mai 2012 11:24
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
Recompiling Old Summer87 Program
Enviado: 11 Mai 2012 11:49
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.
Recompiling Old Summer87 Program
Enviado: 14 Mai 2012 15:46
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.
Recompiling Old Summer87 Program
Enviado: 14 Mai 2012 16:23
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.
Recompiling Old Summer87 Program
Enviado: 14 Mai 2012 16:23
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
Recompiling Old Summer87 Program
Enviado: 14 Mai 2012 16:49
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...
Recompiling Old Summer87 Program
Enviado: 14 Mai 2012 17:01
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.
Recompiling Old Summer87 Program
Enviado: 14 Mai 2012 17:11
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
Recompiling Old Summer87 Program
Enviado: 15 Mai 2012 11:37
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.
Recompiling Old Summer87 Program
Enviado: 15 Mai 2012 11:47
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...