Build 在Windows UI中编译时,如何阻止GeneXus中的web报表引发错误

Build 在Windows UI中编译时,如何阻止GeneXus中的web报表引发错误,build,genexus,Build,Genexus,在GeneXus Evo 2中,有没有一种方法可以告诉编译器什么时候是web,什么时候是windows?当GeneXus设置为windows UI时,它会尝试编译我的web报告(任何windows程序都不会调用这些报告)?web报告抛出错误,无法让我的应用程序成功编译。您可能需要定义web主对象和Win主对象。然后,如果您构建其中一个主对象(而不是全部构建),那么在生成和编译过程中将只考虑它们调用的对象 有关构建过程的更多信息,请参见我怀疑在给您带来麻烦的报告中,唯一到达它们的主要对象(直接或间

在GeneXus Evo 2中,有没有一种方法可以告诉编译器什么时候是web,什么时候是windows?当GeneXus设置为windows UI时,它会尝试编译我的web报告(任何windows程序都不会调用这些报告)?web报告抛出错误,无法让我的应用程序成功编译。

您可能需要定义web主对象和Win主对象。然后,如果您构建其中一个主对象(而不是全部构建),那么在生成和编译过程中将只考虑它们调用的对象


有关构建过程的更多信息,请参见

我怀疑在给您带来麻烦的报告中,唯一到达它们的主要对象(直接或间接)是指向web生成器的主要对象。Main对象定义了适用于任何对象的生成器的搜索边界,因此,例如,如果仅以web生成器为目标的Main对象访问报表,并且该Main对象是从另一个以windows生成器为目标的对象调用的,则windows对象将无法编译

例如,您可能有一个为windows和web生成器生成的事务T1,并且在after trn事件中,您正在调用一个过程P1,该过程P1是主要的,仅针对web生成器。然后,为T1生成的windows源文件将无法编译

为了解决这个问题,您必须在[web]区域内围绕对P1的调用

[web] {
    P1.Call()
}

你能发布编译错误吗?当你说“网络报告”时,你指的是带有打印块的过程?报告是否配置为主程序?如果是,则在生成器属性(在“主要对象属性”下)中选择哪个生成器?或者,您的默认生成器是什么?以下是一些编译错误:apwpthrttpv.cs(213,41):错误CS0103:名称“remoteHandle”在当前上下文apwpthrttpv.cs(213,55)中不存在:错误CS0103:名称“jContext”在当前上下文apwpthrttpv.cs(499,35)中不存在:错误CS0103:名称“remoteHandle”在当前上下文apwpthrttprv.cs(499,49)中不存在:错误CS0103:名称“jContext”在当前上下文apfpthaplg.cs(196,97)中不存在:错误CS0103:名称“remoteHandle”在当前上下文中不存在是的,它们是带有打印块的过程。是的,它们被配置为电源。生成器是默认的,我尝试更改为web生成,但它没有执行任何操作。我尝试仅运行Win Main对象,但它仍尝试生成web报表。我的web报表仅由web面板调用。我检查了每一份网络报告上的“参考资料”。以下是我希望能对正在发生的事情提供线索。它正试图编译一份完全没有参考资料的网络报告。我从该报告的目标目录中删除了.cs文件,它现在告诉我,该文件的.cs文件找不到,即使它没有被称为任何位置。您的默认生成器是windows生成器还是web生成器?当genexus发现任何主对象都无法访问孤立对象时,它会使用默认生成器指定它们。无法使用windows generator生成网页,因此我们将忽略它们,但孤儿网页引用的任何对象(碰巧是有效的windows对象)肯定会为该平台生成。