我刚开始使用MVVM并遇到了障碍,我希望有人可以帮助我.我正在尝试使用2个列表框创建一个简单的视图.第一个列表框中的选择将填充第二个列表框.我创建了一个类,用于存储我想要绑定的信息.
MyObject类(Observable Object只是一个实现INotifyPopertyChanged的基类)
public class MyObject : ObservableObject
{
String _name = String.Empty;
ObservableCollection<MyObject> _subcategories;
public ObservableCollection<MyObject> SubCategories
{
get { return _subcategories; }
set
{
_subcategories = value;
RaisePropertyChanged("SubCategories");
}
}
public String Name
{
get { return _name; }
set
{
_name = value;
RaisePropertyChanged("Name");
}
}
public MyObject()
{
_subcategories = new ObservableCollection<EMSMenuItem>();
}
}
Run Code Online (Sandbox Code Playgroud)
在我的viewmodel中,我创建了两个ObservableCollections
public ObservableCollection<EMSMenuItem> Level1MenuItems { get; set; }
public ObservableCollection<EMSMenuItem> Level2MenuItems { get; set; }
Run Code Online (Sandbox Code Playgroud)
在我的ViewModel的构造函数中,我有:
this.Level1MenuItems = new ObservableCollection<EMSMenuItem>();
this.Level2MenuItems = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用WSDLImporter(以及WSDLImp命令行)将WSDL导入Delphi 7.
使用WSDLImporter时,Delphi的内存使用量开始增加,直到它崩溃(没有错误)或者我收到堆栈溢出错误.
使用命令行工具时,我得到以下内容
Borland WSDLIMP Version 2.2 - $Rev: 10138 $
Copyright (c) 2007 Borland Software Corporation
Reading: https://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl
Import : https://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl:0
*Error*: http://api.demo.ezidebit.com.au/v3-3/nonpci?xsd=xsd0
*Error*: http://api.demo.ezidebit.com.au/v3-3/nonpci?xsd=xsd1
*Error*: http://api.demo.ezidebit.com.au/v3-3/nonpci?xsd=xsd2
Import : http://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl=wsdl0
Import : http://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl
Import : http://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl=wsdl0
Import : http://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl
Run Code Online (Sandbox Code Playgroud)
然后一遍又一遍地循环最后两行.显然这显示错误,但没有关于该错误可能的进一步细节.
我在Microsoft Visual Studio中创建了一个C#项目,并将其作为Web引用添加而没有任何问题,但由于遗留代码,我需要在Delphi 7中使用它.
WSDL的地址是
https://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl
我也尝试使用soapUI加载它,没有任何错误.
编辑 我已经下载了Delphi XE2的试用版(在另一个问题中提到可能的解决方案),它在我的PAS文件的顶部给了我以下内容.(如果需要,我可以上传整个代码)
我假设Delphi不喜欢的WSDL文件存在问题.关于我可以要求WSDL开发人员改变以便导入的任何线索?
// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL : …Run Code Online (Sandbox Code Playgroud) 我最近从2010年升级到Visual Studio 2013(已安装安装程序扩展名),现在当我重建Visual Studio Installer项目时,会出现Visual Studio 2013安装程序窗口,并显示以下消息:
>“请等待Windows配置Microsoft Visual Studio Professional 2013”
该屏幕停留约1分钟,然后消失,然后该项目显示为重建成功。
我已将“输出”窗口设置为“详细”,并且在那里看不到任何明显的内容。设置窗口出现之前的最后一行是
建立档案'c:\ ProjectPath \ Debug \ ProjectName.msi'...
之后,接下来的几行将讨论为安装程序打包必要的dll和文件。
我认为VS 2013缺少安装项目所需的组件,但我不知道它是什么。