Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Access and Assign
Message
From
27/12/1998 21:37:35
 
 
To
27/12/1998 20:45:33
General information
Forum:
Visual FoxPro
Category:
Object Oriented Programming
Miscellaneous
Thread ID:
00169870
Message ID:
00170652
Views:
30
Hi Jim,
I came in late on the thread I'm sorry. But FWIW I think you understand it right.
VFP itself *is* reentrant. You can fire up heaps of apps on the same machine and each will share the same VFP engine *in memory* unlike good ol' FPW.
The exe's *we* write aren't re-entrant. But I guess that's what you were hoping for; or enquiring about. But you can create COM objects, although I haven't, which should serve a similar purpose.

BTW I'm glad you kept that definition extremely simple, LOL.

Regards

>Gentlemen,
>
>It was I who originally asked HOW one can make reentrant programs using VFP, and the answer offered was totally unexpected!
>
>In fact the term "reentrant" has some very specific qualifications, but alas I can only express them in terms of "mainframe" programming and I know from experience (of the near bitter variety) that there are those here who take umbrage with such, so I shall desist.
>
>However, the nature of the response bring two things up for discussion:
>
>1) the "appropriation" of terms, quite probably by those who do not know better, which already have an "accepted" definition, to mean something totally different!
>I will take this opportunity to tell Ned that what he describes is NOTHING like real reentrancy. His re-directing a request to start an application which is already running to the instance already running might best be described as 'single-instance' or 'no multiple instances' or something like that (these assuming that they are *not* existingly-defined terms.
>
>2) Can a VFP program be written to be re-entrant? For this purpose I will keep the "definition" of REENTRANT extremely simple: A program which is written in such a way as to NOT modify any part of its .EXE (within RAM of course, not the actual EXE on disk) *AND* can be invoked by numerous other entities (programs) which can be at various points in the execution of the reentrant program when they may be interrupted, returning to complete the process correctly on behalf of the original invokers. (simple, eh).
>
>My guess is that we are not there yet with VFP, save possibly in the simplest and therefore non-utilitarian cases.
>
>Cheers,
>
>Jim N
>
>
>>>>>Reentrancy: A program that may be called by another while it is already in the calling stack;
>>>>>
>>>>
>>>>PMJI Jim,
>>>>It's been a long time since the theory classes but I thought 'reentrant' simply meant that more than one pointer (IP?) to a current program line is allowed, thus allowing more than one process to be using the same program code.
>>>>Does that ring a bell?
>>>>(Please tell me to go jump if i've missed the point here)
>>>
>>>David,
>>>
>>>It may be, I remember it as a program being able to be called from another while that program is in the calling stack, which would require what you said to allow it. Recursion, though, is a program directly calling itself, which also requires the ability you mentioned.
>>
>>Hi Jim,
>>I could imagine recursion being implemented without multiple program pointers. Just a special arrangement of the calling stack. That is even though there's recursion there's only one line of code which is being (or about to be) executed at any one time.
Previous
Reply
Map
View

Click here to load this message in the networking platform