Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Compile Errors - Anyone Able to Help
Message
 
À
12/09/2007 15:42:57
Information générale
Forum:
Visual FoxPro
Catégorie:
VFP Compiler for .NET
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
MS SQL Server
Divers
Thread ID:
01253985
Message ID:
01254008
Vues:
16
Tracy,

The compiler / runtime does not support SET commands yet. The functionality implemented for the May Preview is at: http://etecnologia.net/Products/VFPCompiler/ImplementedFunctionality.htm.

Because internally the compiler skips that GLOBAL block it tries to recover but fails and skip all the code. This is an issue we are aware for the global procedure.

If you comment the not implemented lines, it compiles and run fine. NOTE: I also commented the line with the logical testing, there was an error in the runtime handling logical variables in the May preview.
*	set talk OFF
*	set echo OFF
*	set exclusive OFF
	gltestvar1 = .t.
	gctestvar1 = 'Test Variable'
	gntestvar1 = 1

*	=MESSAGEBOX('gltestvar1='+IIF(gltestvar1,'T','F'),0+48+4096)
	=MESSAGEBOX('gctestvar1='+gctestvar1,0+48+4096)
	=MESSAGEBOX('gntestvar1='+ALLTRIM(STR(gntestvar1)),0+48+4096)

	return
With The following code the compiler tell you something is wrong. The compiler is smarter inside classes.
DEFINE CLASS SomeClass

	PROCEDURE SetTest
	set talk OFF
	set echo OFF
	set exclusive OFF
	gltestvar1 = .t.
	gctestvar1 = 'Test Variable'
	gntestvar1 = 1

	=MESSAGEBOX('gltestvar1='+IIF(gltestvar1,'T','F'),0+48+4096)
	=MESSAGEBOX('gctestvar1='+gctestvar1,0+48+4096)
	=MESSAGEBOX('gntestvar1='+ALLTRIM(STR(gntestvar1)),0+48+4096)

	return


ENDDEFINE
>Putting all of the stuff in one directory appears to work (more or less). When I run your sample, it appears to work. However, I tried our main.prg for our app and the output in the exe is empty. I then decided to try a more basic approach and tried this .prg:
>
>
>set talk OFF
>set echo OFF
>set exclusive OFF
>gltestvar1 = .t.
>gctestvar1 = 'Test Variable'
>gntestvar1 = 1
>
>=MESSAGEBOX('gltestvar1='+IIF(gltestvar1,'T','F'),0+48+4096)
>=MESSAGEBOX('gctestvar1='+gctestvar1,0+48+4096)
>=MESSAGEBOX('gntestvar1='+ALLTRIM(STR(gntestvar1)),0+48+4096)
>
>return
>
>
>
>The result is an empty exe with an error:
>
>
>VFPCW0003: WARNING: Local variable '_26G0X02BI' is not used.

>
>It looks like the compiler or vs doesn't know what to do with VFP's compiled code. I may be wrong, but that variable looks like something the vfp runtime or compiler (not your stuff I mean) kicks out (the runtime?)
>
>Am I missing something? I tried this months ago with the samples and I was very impressed but can't seem to get it working now.
>
>Tracy
>
>
>The output is:
>
>
>public sealed class TestModule
>{
>    // Methods
>    private TestModule()
>    {
>        this.InternalInitialize();
>    }
>
>    public override object InternalInitialize()
>    {
>        object obj2;
>        return obj2;
>    }
>
>    public static void Main()
>    {
>        int num = VFPVM.GlobalVM.EnterProcedure();
>        VFPVM.GlobalVM.ExitProcedure();
>    }
>}
>
>
>That's it.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform