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

Multi-monitor: Behavior difference between app and exe

Status
Not open for further replies.

Brak

Programmer
Jul 11, 2001
158
US
I have found a strange problem. Hopefully someone here has a solution.

When I run a program as an APP I am able to move the program to my second monitor. But if I run that same exact program as an exe when I drag it onto the second monitor it disappears.

And it disappears as it moves, so the part of the screen that is still on my 1st monitor is still visible, but the part on the second screen is invisable. As I move it I can see the outline of the screen on the second monitor, but not the screen. And then when I release the mouse button you see nothing on the second monitor - even if it is stadling.

I have tried this wiht multiple exes with all with the same result.

But if I run FoxPro and move it, or if I run a program as an APP, it works as it should.

So what is the deal?

And just in case it is important, I am running Win98 SE and FoxPro for Windows 2.6a with the patch26 update installed to both the EXE and the ESL.


B"H
Brak
 
Brak,
FoxPro didn't offer any multi-monitor awareness and support until VFP 6.0 (and it was limited in some respects until SP3!). If any earlier FP app runs "properly" in other than the main monitor in a MME enviroment, it's because the video card / video driver supports it - not FP.

Rick
 
Maybe I'm confused.

The multi-monitor support is in Win98 itself. I have the multi-monitor support up and running fine, and am able to run any app on my second montior wiht no problems.

The only problem is with FPW. It only works half way.

The main problem being that if I run the program as an APP it works fine (except that the buttons you click on with the mouse don't respond - but they respond with the keyboard, and also the menu works fine). But when I run it as an EXE it becomes the "invisiable man" on the second monitor.


So my first question/concern is why does it work as an APP but not an EXE. What is the differece? Shouldn't the program act the same regardless if it is ran as an APP or an EXE.

Oh the fun!


B"H
Brak
 
FoxPro for Windows was a DOS-Windows hybrid. It still was clearly mostly DOS code underneath. There were known issues with it in Windows. For example, if a program was deleveloped while Windows' display properties were in the default Small Fonts (96), then a user who had changed their fonts to Large Fonts (120) missed seeing part of the screen (thread182-60253). Visual FoxPro 6 SP5 is generally recognized as a landmark for a solid, stable verion.

As for the APP versus EXE difference, the APP is still being run by FP, whereas the EXE is or can be standalone as long as the library support files are there. Perhaps that is part of the cause of your symptoms.

dbMark
 
But isn't the purpose of the EXE is to run without FP. Should the functionality and operation be identical - so if I'm running the program as an APP or an EXE should be a non-point. But it is currently a point.

I was hoping that there was some patch that would fix the ESL to work right.
 
MM support is indeed in Win98, but for an application to recognize and take advantage of it, it needs to be able to use a number of new Win32 API calls that deal with MMs. FPW is a 16-bit app and doesn't make or know about Win32. Win98 (et al), will take (most) Win16 API calls and convert or "thunk" them to the equivalent Win32 calls.

If any 16-bit code works on multiple monitors, it's because the 32-bit OS is trying to accomodate the code, or (more likely) the video driver has added some code to deal with this situation and treat MMs as one big non-standard sized screen.

There are many things that not only work different in an APP vs. an EXE, but there are many thing not allowed in an .EXE - especially back in FPx 2.x.

Rick

P.S. The chance of updates to FPW are 0% or less. MS has clearly stated that there will not even be any updates to the most recent version of VFP - 8.0 SP1, unless there is a MAJOR problem discovered. All the FoxPro team is busily working on VFP 9.0, that is reportedly due out in October.
 
Why would the handleing of a desktop screen differ between an APP or an EXE? That wouldn't make sence - unless its a bug.

I can understand such things like an EXE not being able to go into a command window, but we are talking about just a general run.

I can understand why my OS would handle them differently, unless they(the APP and the EXE) are different in their handling.

I also write 16bit code in C++ and they work without a glitch in the 2nd monitor.

But for some reason my FPW26 app becomes the invisible man on the 2nd monitor.


Still wishing that FPW26 would work like it should. :(


B"H
Brak
 
Brak,
I guess I don't see it as a bug. Because all the code was written and tested years before MS supported MMs, it's really a testament to the OS writers that anything earlier works on the 2nd (and greater) monitor for these earlier programs.

I wish that all DOS programs worked under XP, but clearly it's more a miracle that any work properly under an OS that isn't based on DOS. Things move forward and somethings will never work the same way as they did. It really is time to move up to VFP before Longhorn obsoletes almost all DOS and Win3.x apps.

Rick
 
Who is Longhorn?

And how can he/she/it/they make all the 16bit apps go away?


I have tried VFP5 before. TO me its a different programming language. Call me old fahsioned or stubborn, but I don't feel like learning a new programming language. In my personal belief VFP shouldn't even be called FoxPro.

If you look at C, for example. I can compile any of my old C apps, and reuse all of my old C code in any C. C++, C# complier. My old code doesn't get kicked to the curb, I'm not reinventing the wheel. Why -- because its the same language. VFP is a different prgraming language than FP.

Where MS messed up is by making a new language with an old name. C++ programmers don't have to deal with an learning curve (except for learningot learn the new features) when going from an older version of C to a newer version. But programmers going from FP to VFP basically have to throw away in the trash basically all that they learned and experience with FP. A vet FP programmer doesn't really have anything abouve a newbie VFP programmer. So MS should have made it so that all of the old FP code could work in VFP.

One time I opened a FP screen in VFP. For one it was catagorized as a report form!!! (It's a SCREEN!). And then I didn't even see all my buttons nor any of my code!!

In my annoyed opinion going from FP to VFP is like going from C to Fortran.

Ok, Im done steaming. I needed to get that out for the past 8 years. :)


B"H
Brak
 
Brak,
Obviously I don't know the details on your "upgrade" problems to VFP, but attitude usually has a lot to due with success. I've converted many projects from FPD/FPW to VFP - these included hundreds of forms reports and programs, and they are all working just fine in hundreds of locations with thousands of users.

I've been programming for 38 years - mainframes, minis, micros and now even PDAs using VB.NET with the compact framework. I've used probably 30 different languages professinally over the years, although for the last 14 years most of it has been in FoxPro and Visual FoxPro. I've also done occasional work in Access, VB (classic ) and even some C/C++ in this more recent phase of my programming life.

The most important thing I've learned is that no platform lasts forever, and the really exciting thing about programming is change and learning new ways to do things.

Rick
 
Brak

I DO understand your frustration. As an old code programmer, I worked from Dbase through FoxPro Dos and what seemed a quantum leap to FP2.5 for windows. 3 years ago my product nearly died because, despite looking at VFP, I just couldn't get my head round it. All these guys were talking mumbo jumbo about form properties, objects and things and I only knew that if I wrote @Say I could make lines and chrs appear where I wanted them to. The biggest hurdle was the READ. I had multiple procedures in 38,000 lines of code that each had a case structure a window define with a menu bar and a READ Modal/Cycle TIMEOUT etc!!

I found myself deciding at the age of 48 I either re learn't or gave up. I took a course with a well known VFP MVP! and within literally two training days it had clicked.

I used some of my old code, mainly functions and my old reports (127) in all, the rest of my app I re wrote, and I'm so glad I did. The power of VFP over FP is enormous. The code is the same really except its in form methods but productivity, I can write an app in a week that would have taken 3 months before! Its worth the pain to make the gain..
BOL

Bob Palmer
The most common solution is H2O!
 
I have an idea.

I think a new law in regards to copyright and licenses in regards to programs should be made.

If a company produces a program which they have activly decided not to support or sell any more that the product should be considered legally abandoned and show be free to copy and distribute.

I believe that if companies no longer want to deal with bugs and no longer choose to sell their product that they no longer deserve the right to make money from it.

Take FPW 2.6 for example. MS has completely kicked this product to the curb. They no longer support any bugs or errors they have made in the product. Also they no longer sell the product. They tell you to find someone who has it and make a copy of it and then send MS the money for the lincence!

I believe that FPW 2.6 should be open to free copying and distributing - legally.

I think such legislation would encourage companies such as MS to continue to support and distribute their older software. It will break them from their "fix the bug in the next release and make everyone pay for it" mentality. We shouldn't have to pay twice for the same program - one for a brken version and again for the fix!


Is anyone one else out there with me on this?
 
Brak,
If I understand what you are saying, if I see that you aren't using your car, and you don't want to sell it, then I should be able to take it for free. OK by you?

Rick


 
If you could make a clone of it, then sure. :)

I don't think that you got my point. For if you did you would have chosen such a poor example to try to debate the point that I brought up. And since you are a programmer I assume you have a high level of logic. So let me restate my idea.

If a product (software) is abandoned by a company, then it should have the same status as freeware. People should be able to copy and distribute it freely.

That in order to prevent a product (software) from going into freeware status is by the company continuing to offer support for the product.

I think that companys such as MS policy to create time tables in which they will support a product is bull! We shouldn't have to pay for their bugs and mistakes.

If a company gets a report of a valid bug in their program and refuse to address it then that product should become freeware. I shouldn't have to pay for a program twice - which is what these people are getting away with.

Think of all the bugs in Win95. What was/is MS's solution - buy one of their new operating systems! That is bull! If a company does that then it should be freeware.

And if a company doesn't want to distribute it anymore - then it becomes freeware - because obviosly they don't intend on making anymore money from it, otherwise they would keep distributing it.

And I believe that if such laws were passed that you would have better programs, better support, and better access.

They would be more careful in their releases.
They would provide patches and updates when needed.
They would provide legacy programs when needed. (This one is really a simple no brainer. I mean how hard would it be for them to keep the old versions on a server and for them to burn a CD of their legacy program for someone who ordered it.)

Just my 2 cents.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top