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 SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Missing DEFDRIVE and DRSHELL functions when compile the decompiled source from the runnable app

Status
Not open for further replies.

henrytang

Programmer
Dec 24, 2016
2
0
0
US
I have an CLIPPER application but not sync with the source.

I am trying to decompile this application and compile it again. The recompile notifies error: Missing function definition DEFDRIVE and DRSHELL.

- I am using RESCUE5 for decompiling
- CLIPPER5.2 with RTLINK
- Does anyone here about the DEFDRIVE and DRSHELL functions?
- I cannot understand why these functions missed because the application can run without error.

Please give me some ideas

I am a newbie in CLIPPER.
 
It's been a while since I answered a Clipper question.

My guess would be that the original application had some additional code linked in for which there is no code - perhaps a commercial library of some kind or some kind of tool.

Without the original .obj (probably) files that had these functions you won't easily resolve this problem.

A shortcut would be to add some dummy code for those two functions to your existing decompiled work and make a guess as to what they expected as parameters and return values - then you might get a 'error on line xxx' kind of thing you could trace to the actual calls.

You could search your decompiled code for references to the functions to help make the guess more accurate.

Then all you need to do is mimic the functionality of the unknown code...




Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.

I'm trying to cut down on the use of shrieks (exclamation marks), I'm told they are !good for you.
 
Hi

DEFDRIVE() is an .asm function from James Occhiogrosso's Clipper Developer's Library (
Use DISKNAME() from CA-Clipper Tools library instead
Regarding DRSHELL(), certainly also a non-prg source function, it might be enough to exchange it for SWPRUNCMD() if you're using Blinker when relinking your de-/re- compiled sources
The only trace on the web of DRSHELL() was here: but I might be wrong assuming SWPRUNCMD() as an alternative

Perhaps look at the .prg's where DRSHELL() is _called_, it might shed some light :)

Hth,

lohen
 
@GIFFMG: Thanks for your great suggestion. I am following your way now and it is better.

@lohen: It is a good resource for these functions. Thank you very much.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top