FoxInCloud
Feeling extreme frustration!
Gravatar is a globally recognized avatar based on your email address. Feeling extreme frustration!
  Jim C
  All
  Jan 5, 2017 @ 12:05pm

I have been working on and off with the test version of FoxInCloud for a couple of months. The application I'm trying to adapt is large and complicated. Prior to that I was working with the application to remove things which would not adapt (formsets, etc.). When I go thru the adaption process, it takes over an hour. Then if there is a problem, I can't figure out where to make changes without again going thru the adaption process. When I try running the application on the server, it gets me as far as my logon screen and then doesn't seem to want to go beyond that.

To make sure I am doing things right, I tried creating a VERY simple project to adapt. The project consists of one form that contains one label and one button. In the click event for the button is one line of code which adds a '1' to the end of the label caption.

After I go thru the adaption process, it urges me to test the adapted project. I do this. When I open the form, I get an error in the error handler. If I ignore the error, the form opens and clicking the button has the expected results.

I then close the FoxPro window and open FAA again and select to PUBLISH the application. It goes thru all the steps and then asks if I want to try it. I say yes and a browser tab opens (in Chrome) with the FoxInCloud header and line saying 'Testing forms of project name'. The test form name I created is shown below this. If I click on it, the form is displayed looking pretty much like I would expect. I notice that it also opens the form in the FoxPro window which now seems to be the status window for the server. If I click the button, the form in the FoxPro window updates, but the one in the browser window does not. Also, I notice on the browser that there is no close button for the form.

Am I just dealing with issues with the trial version of the application server? If so, how can I be assured that this is actually going to work after spending the money? If not, how can I get moving on my larger project? My client has been very patient about this, but I may have to tell them that this solution is not going to work for them.

Thanks for any suggestions - I realize I'm venting a bit - hope I didn't go overboard with that!

Jim

Gravatar is a globally recognized avatar based on your email address. re: Feeling extreme frustration!
  FoxInCloud Support - Thierry N.
  Jim C
  Jan 5, 2017 @ 12:33pm

Hi Jim,

Extreme frustration for little issues!

If I click the button, the form in the FoxPro window updates, but the one in the browser window does not

what is supposed to update? A label.caption if I understand well… make sure this label has 'caption' $ .wcPropSave

that there is no close button for the form

Do you have a close button on your form? Can you post screenshot to make it clearer?

how can I be assured that this is actually going to work after spending the money?

FoxInCloud has been in production for over 5 years on very complex applications. Just raise your issues here, you'll get solutions. The FoxInCloud Live Tutorial demonstrates all what works with the source code.
You can run the same tutorial in your localhost using the Foxincloud menu in the VFP IDE; did you try it?

If you were to spend some money, it'd be better spent in assistance and/or training.

Did you go through all this training material? Any question about it?

Gravatar is a globally recognized avatar based on your email address. re: Feeling extreme frustration!
  Jim C
  FoxInCloud Support - Thierry N.
  Jan 5, 2017 @ 01:43pm

I was going to post what the form looked like, but can't seem to get back to that point. I went back to the tab where I ran the form before - it looked like:

Clicking on the form name, nothing happens.

I tried going back to republish (I'm sure there is a better way, but I can't figure it out from the documentation) I get to step 5 and click "Install Application Server source files" and nothing happens.

I did not understand your statement: make sure this label has 'caption' $ .wcPropSave

The actual line of code from the click event is: thisform.label1.Caption=thisform.label1.Caption+"1"

Looking thru the training information, it looks like there are changes required that FAA doesn't identify. And I think my frustration is coming from this being a lot more work than I have time to allot! That is clearly not your issue! Can you identify any local (to me in Fairfax Virginia) resources who have experience doing this that I could consult with or turn this project over to?

Thanks for all your help

Gravatar is a globally recognized avatar based on your email address. re: Feeling extreme frustration!
  Gilles Lajot-Sarthou
  Jim C
  Jan 5, 2017 @ 11:28pm

Hello Jim,

What you are experiencing is quite normal for all Foxpro developers accustomed to generating executables running in desktop mode.

An application running in web, does not use the same operating logic. You are in front of an unknown that you do not master or very little, and you firmly believe in the existence of a magic wand that will adapt your desktop applications to web applications! Unfortunately, and despite the huge potential of FoxInCloud, you will have to go back through the training box to understand the subtleties of the modifications needed to your Foxpro source codes, in order to run your foxpro applications in the world of the WEB.

What I can tell you:

  • that all you will have to master is foxpro code
  • that FAA automatically adapts 80 to 95% of your source code
  • that once you have assimilated the subtleties to apply to your code foxpro, you can realize directly your applications in office and web mode without the use of F.A.A
  • that I have Foxpro applications for the production of medical and veterinary analyzes that have been running for nearly 5 years in web mode

Good courage and as the French saying goes, Paris was not built in a day!

For the label caption, you must in your VFP IDE, put in the the label.wcPropsave propertie, the value caption. It is alway the same tthing for all properties of objects that your application will be change (enabled, visible, etc..)

Regards

Gilles

Gravatar is a globally recognized avatar based on your email address. re: Feeling extreme frustration!
  FoxInCloud Support - Thierry N.
  Jim C
  Jan 6, 2017 @ 01:14am

Jim,

Gilles's response is remarkable and thorough.

I think you need to pause on playing with FAA/FAS and dedicate some time reading the training resources, practising the tutorial and interacting here.

We've added a paragraph to the skills FAQ that might help you take the necessary steps.

WRT to your large project, please keep in mind that you can create a smaller sub-project with the forms you client first wants to see on the web and adapt only these; you can later expand the scope of your Web Application by adding more adapted forms.

WRT local assistance, I believe Mr. Tuvia Vinitsky will shime in, otherwise you can contact him directly.

Gravatar is a globally recognized avatar based on your email address. re: Feeling extreme frustration!
  Jim C
  Gilles Lajot-Sarthou
  Jan 6, 2017 @ 08:53am

Thanks Gilles!

I tried making the change you suggested and it did update the label when I clicked the button on the browser version of the form. It sounds like one of the subtleties is making this sort of change on every control where I change the caption. Can you point me to the documentation that describes this? I thought I had looked at everything, but must have missed this.

Gravatar is a globally recognized avatar based on your email address. re: Feeling extreme frustration!
  Gilles Lajot-Sarthou
  Jim C
  Jan 7, 2017 @ 01:11am

Hello Jim There are X actions to know for a successful adaptation with FoxInCloud:

1 - all SET PROC, SET CLASSLIB must have the ADDITIVE parameter, otherwise FoxInCloud will not be able to find access to its PRG, VCX, etc ... and nothing will work properly

2 - The set of SET sets and commands to set the application environment must have its VFP code moved to the xxxSets.prg file. (Xxx being the 3-character label of the name of your application and the name of the extension of the files that will be processed in WEB)

3 - All properties of objects modified by VFP code must be specified in the wcPropSave property of each object. (By the IDE in design, by VFP code in dynamics). This tells FoxInCloud which properties to back up and restore when processing each HTML query

4 - Each method, event .. of the objects of a form must begin with the following code:

IF (TYPE('m.thisForm.wlHTMLgen') == 'L' AND m.thisForm.wlHTMLgen = .T.)
	RETURN .T.
ENDIF

This tells FoxInCloud that the rest of the code that follows does not occur when FoxInCloud reads the form / object only to generate the HTML / CSS code. F.A.A automatically adds this processing when adapting the project.

5 - In each event, object method if a call is made to another form, the processing code after returning the called form must be moved to another method (object.wFormCallBack ()) of the calling form. Ex: In the MyBtnTiers.CLICK () event of a button it is executed:

= THISFORM.wForm ("tiers.scx", "THIS.wFormCallBack", .F., M.THISFORM.code_trans.VALUE)
* THISFORM.wForm () method FoxInCloud to call from an object contained in a form, another form
* tiers.scx named form name
* THIS.wFormCallBack or wFormCallBack name of the method that will be called by FoxInCloud after closing the tiers form
*, .F., M.THISFORM.code_trans.VALUE parameters passed to the tiers form

In the MyBtnTiers.wFormCalBack () method:

LPARAMETERS tuUserChoice AS INTEGER && @ {en} Choice of user {en} User's choice

IF VARTYPE (m.tuUserChoice) == 'N' AND m.tuUserChoice> 0
    SELECT t.LastName, t.FirstName FROM passes t WHERE t.code_trans = m.tuUserChoice AND inactive = 0 INTO CURSOR c_rech NOFILTER
    IF USED ('c_rech') AND RECCOUN ('c_rech')> 0
        WITH m.THISFORM
            * Third party display
            .name_trans.VALUE = ALLTRIM (c_rech.Lastname) + ALLTRIM (c_rech.Lastname)
            .code_trans.VALUE = m.tuUserChoice
        ENDWITH
    ENDIF
    USE IN SELECT ('c_rech')
ENDIF

Regards Gilles

Gravatar is a globally recognized avatar based on your email address. re: Feeling extreme frustration!
  Tuvia Vinitsky
  Jim C
  Jan 7, 2017 @ 08:07pm

All the comments here are accurate and potentially usefull. And your idea of adapting a small project to learn from is a good one.

You will discover that there are a handfull of minor practices in your VFP forms and classes that will help things run smoothly. We have pretty large projects in FiC.

I would be more than happy to speak with you and see if we can be of assistance. You can reply here or email me at tuvia@vmgr.com.

Gravatar is a globally recognized avatar based on your email address. re: Feeling extreme frustration!
  Jim C
  Gilles Lajot-Sarthou
  Jan 9, 2017 @ 06:59am

Thanks! This information is very helpful!

Gravatar is a globally recognized avatar based on your email address. re: Feeling extreme frustration!
  Jim C
  Tuvia Vinitsky
  Jan 9, 2017 @ 07:00am

Thanks! I will be contacting you by email.

© 1996-2024