小编Veg*_*gar的帖子

如何在代码中绑定嵌套对象或master-detail-binding?

我有三个嵌套课程,Show,Season和Episode,其中一个节目有季节,季节有剧集.

我想绑定两个列表框,以便第一个列出季节,第二个列出该季节的剧集.

我怎样才能做到这一点?我更喜欢在代码中设置它,而不是xaml,但如果你知道如何使用xaml,它总比没有好.

简化的xaml:

<Window>
  <Label name="Showname" />
  <ListBox name="Seasons" />
  <ListBox name="Episodes" />
</Window>
Run Code Online (Sandbox Code Playgroud)

和一些相关的代码:

public partial class Window1 : Window
{
  public Data.Show show { get; set; }
  public Window1()
  {
    this.DataContex = show;

    //Bind shows name to label
    Binding bindName = new Binding("Name");
    ShowName.SetBinding(Label.ContentProperty, bindName);

    //Bind shows seasons to first listbox
    Binding bindSeasons = new Binding("Seasons");
    Seasons.SetBinding(ListBox.ItemsSourceProperty, bindSeasons);
    Seasons.DisplayMemberPath = "SeasonNumber";
    Seasons.IsSyncronizedWithCurrentItem = true;

    //Bind current seasons episodes to second listbox
    Binding bindEpisodes = new Binding("?????");
    Episodes.SetBinding(ListBox.ItemsSourceProperty, …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf binding master-detail

3
推荐指数
1
解决办法
3413
查看次数

Delphi:后台线程中的TWebBrowser

是否可以在后台线程中的TWebBrowser中加载网页?

当应用程序加载时,我想从Web下载一个页面到TWebBrowser,但我不想阻止gui-thread.

有什么建议?

一些说明:
webbrowser组件生活在表单上,​​我想从Web上显示一个页面.但我想在后台线程中完成该页面的所有下载,因此加载繁重的页面不会阻止gui-thread.

我想我能够编写一般的线程.

browser delphi multithreading

3
推荐指数
1
解决办法
9118
查看次数

Delphi:降序类中具有相同名称的属性

在一个文件中,我有一个带有ID属性的基类:

type
  TBase = class(TObject)  
  private  
    FID: integer;  
  public  
    property ID: integer read FID write SetID;  
  end;  
Run Code Online (Sandbox Code Playgroud)

在第二个文件中,我有另一个类,从TBase下降.无意中,或无知或任何时候,都会创建一个与现有属性/字段同名的新属性/字段.

type
  TSub = class(TBase)
  private
    FID: Longword;
  public     
    property ID: Longword read FID write FID;
  end;
Run Code Online (Sandbox Code Playgroud)

第二个ID字段当然是重命名的,但为什么编译器允许这样做?
在代码中访问ID时 - 使用哪个ID字段?

delphi inheritance properties

3
推荐指数
1
解决办法
2292
查看次数

Delphi和单元测试:在项目中包含经过测试的源,还是只使用它?

我有一个项目组,主项目和测试项目.

在主项目中为类编写单元测试时,是否在测试项目中包含源文件,或者是否在搜索路径中放置了它的路径?

你为什么一个做另一个?

对此有什么最佳做法吗?

更新:看起来包含是首选选项,很大程度上是因为"访问"搜索路径中所有单元的缺点,而不是只访问您打算使用的单元.但是,让我烦恼的是需要在两个项目中始终包含一个文件.我通常将测试项目保留为活动项目,因此当我需要一个新类时,我创建一个新单元,它成为测试项目的一部分,但将其存储在主项目路径下.现在,我需要记住也将它包含在主项目中.应该有一个'创建新单位,并将其添加到所有开放项目' - 行动....

delphi unit-testing

3
推荐指数
1
解决办法
439
查看次数

Delphi:泛型后代的通用列表,并将泛型作为参数

我对于仿制药的理解以及它们如何能够和不能被使用有点挣扎.

我有一个通用类TControlMediator,如下所示:

TControlMediator<C, T> = class
private
  FMediatedComponent: C;
public
  constructor Create(ComponentToMediate: C);

  function GetValue: T; virtual; abstract;
  procedure SetValue(Value: T); virtual; abstract;

  property MediatedControl: C read FMediatedComponent;
end;
Run Code Online (Sandbox Code Playgroud)

然后我为每个我想调解的控件类型制作'concret'子类:

TEditMediator = class(TControlMediator<TEdit, string>)
public
  function GetValue: string; override;
  procedure SetValue(Value: string); override;
end;
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切似乎都运作正常.但是,当我想要一个TControlMediator后代列表,或者将TControlMediator作为方法的参数时,会出现问题:

TViewMediator = class
private
  FControlMediators: TList<TControlMEdiator<C, T>>;
public
  procedure registerMediator(AControlMediator: TControlMediator<C, T>);
  procedure unregisterMediator(AControlMediator: TControlMediator<C, T>);
end;
Run Code Online (Sandbox Code Playgroud)

编译器因致命错误而停止:

[DCC Error] mediator.pas(23): E2003 Undeclared identifier: 'C'
[DCC Error] mediator.pas(28): E2007 Constant or type identifier expected
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何做到这一点?

delphi generics delphi-2010

3
推荐指数
1
解决办法
1692
查看次数

请求完成时ASIHTTPRequest,EXC_BAD_ACCESS

我正在尝试使用ASIHTTPRequest执行异步请求,但在请求完成时收到通知时会遇到一些问题.

-(void)doDownload{
    NSURL *url = [NSURL URLWithString:@"http://www.someurl.com/?"];
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
    [request setPostValue:@"someValue" forKey:@"someField"];
    [request setRequestMethod:@"POST"];

    [request setDelegate:self];
    [request setDidFinishSelector:@selector(requestFinished)];
    [request startAsynchronous];
}

- (void)requestFinished:(ASIHTTPRequest *)request
{
    // Use when fetching text data
    NSString *responseString = [request responseString];

}
Run Code Online (Sandbox Code Playgroud)

requestFinished永远不会被调用.我在ASIHTTPRequest.m,-handleStreamCompleted中得到一个异常:

if (fileError) {
    [self failWithError:fileError];
} else {
    [self requestFinished];   <----- this call fails
}
Run Code Online (Sandbox Code Playgroud)

有线索吗?

iphone delegates objective-c selector asihttprequest

3
推荐指数
1
解决办法
5965
查看次数

触摸嵌入视图时选择tablecell

我有一个带有嵌入式MapView的自定义表格单元,显示一个小区域.当用户选择单元格时,我想推送一个带有更大mapview的新视图和更多信息,例如距离你的位置,选择什么地图类型等.

如果我在mapview周围留下一个小边距,用户可以在该边距中单击以选择单元格,但如果他们在mapview内部单击,如何选择单元格?

问候,
-Vegar

iphone cocoa-touch uitableview mkmapview

3
推荐指数
1
解决办法
576
查看次数

NSSearchField无法按预期工作

我试图在他的"核心数据"一书中关注Marcus Zarra.在书中,他制作了一个小样本应用程序,但是当事情无法解决时它没有给予太多帮助......

他首先通过可视化设计三个实体,然后将每个实体的阵列控制器添加到主笔尖.其次,他添加了一个tableview和一些其他可视组件来显示来自阵列控制器的数据.

到目前为止,我已经设法遵循,但现在他为gui添加了一个搜索字段,并将其绑定到与其中一个tableviews相同的数组控制器.在搜索字段中键入时,预期的行为将是tableview被过滤,但没有任何反应.

我如何找出问题所在?

笔尖的相关部分如下:

NSArrayController Recipes
- Mode = Entity
- Enitity Name = Recipe

TableView w/TableColumn
- 值绑定到配方
- Controller Key = arrangeObjects - Model Key Path = name

搜索字段
- 谓词绑定到配方
- 控制器键= filterPredicate
- 模型键路径=名称
- 显示名称=谓词
- 谓词格式= keyPath包含$ value

控制台中没有相关消息.

问候,
-Vegar

cocoa core-data cocoa-bindings nssearchfield

3
推荐指数
1
解决办法
1392
查看次数

分配自我的后果

今天发现了一段代码,我发现有点臭......

TMyObject.LoadFromFile(const filename: String);
begin
  if fileExists(filename) then
    self := TSomeObjectStreamer.ReadObjectFromFile(filename);
end;
Run Code Online (Sandbox Code Playgroud)

如果此代码有效,它至少会泄漏一些内存,但是它有效吗?
可以这种方式分配给自己吗?

如果流对象与原始self不同,那该怎么办?
如果流对象是一个与原始self没有共同祖先的不同类,该怎么办?

delphi self variable-assignment

3
推荐指数
1
解决办法
292
查看次数

webpack - 从命令行关闭手表

我有一个 webpack 配置,设置为监视更改。

有时,我想只运行一次构建,然后退出。

我现在通过输入npm run dev(运行webpack --config <config.json>)来解决这个问题,然后Ctrl+C在第一个构建周期完成时点击。

是否有一个命令行开关可以用来推翻配置中的监视设置?像否定--watch开关之类的东西?一个--do-not-watch选择?

webpack

3
推荐指数
1
解决办法
4204
查看次数