小编Jef*_*eff的帖子

使用MonoMac创建一个简单的NSOutlineView数据源

我似乎无法弄清楚如何创建一个简单的NSOutlineView,其中包含2列,以及一个深度超过1级的数据结构(层次结构).

我已经研究了好几天了,我能找到的只是Objective C的例子,我真的不能用它做任何事情.

我知道这样做有不同的模式,一个是DataSource模式.我尝试创建一个继承自NSOutlineViewDataSource的类,但是这就是我所得到的,我不知道接下来应该做什么!

让我们说我想在我的NSOutlineView中显示以下类:

public class Person
{
    public string Name {get;set;} // First column
    public int Age {get;set} // Second column
    public List<Person> Children {get;set} // Children
}
Run Code Online (Sandbox Code Playgroud)

实现这一目标最简单的方法是什么?

c# mono cocoa nsoutlineview monomac

6
推荐指数
1
解决办法
1450
查看次数

使两种形式能够相互重叠?

我希望有一个单独的表单,与我的主表单"沿"显示,因此它不会与主表单重叠.

这是一个例子: 例

注意主程序如何重叠日志?我无法弄清楚如何在Delphi中做到这一点.

谢谢!

forms delphi vcl tform

5
推荐指数
1
解决办法
1322
查看次数

Delphi最好的免费第三方树实现是什么?

我需要一个可以与Virtual Treeview一起使用的树实现,它不会消耗太多内存,易于使用,并且与VT一样快(也就是说,当我将数据存储在VT本身时)

我尝试过Linas的svTree - 它易于使用,但不如我希望的那么快和内存友好.

此外,只想指出我的应用程序将管理数千个节点.:)

你推荐什么免费图书馆?您是否能够构建一个如何在Virtual Treeview中使用它的最小演示?

delphi tree virtualtreeview

5
推荐指数
1
解决办法
1224
查看次数

我应该在哪里存储许可证数据?

目前,每次客户打开我的应用程序时,我都会进行数据库检查 - 他们输入登录信息,然后我的应用程序通过数据库运行他们的信息并查看它是否匹配.它运行完美,但是如果我创建的软件不使用Internet,这种方法对我没有任何好处(因此,我不能总是期望用户在按下登录按钮时连接到Internet).

要进行初始许可证检查是没有问题的,但是一旦在用户的PC上验证了一次详细信息,我想我需要在本地存储一些内容,以便在下次用户打开我的应用程序时进行检查.

您如何在本地存储许可数据?我一直在阅读它,如果我想避免使用keygens,显然解密许可证数据是一个很大的禁忌.您使用注册表还是文件?

delphi licensing protection

5
推荐指数
1
解决办法
1378
查看次数

Delphi Webbrowser和CSS3

我的应用程序将一些HTML加载到Webbrowser(来自bsalsa.com的TEmbeddedWB),我想使用一些CSS3功能border-radius.我安装了Internet Explorer 9,因为它支持该border-radius属性.好的,只是为了测试该属性是否在Delphi应用程序中运行,我创建了一个带有Memo和TEmbeddedWB的新项目.在Memo1OnChange事件中,我让web浏览器加载任何文本是在备忘录.然后我在备忘录中输入以下文字:

<div style="background-color:green;  border-style: solid; border-width: 2px;
 border-radius: 10px 10px 10px 10px; width:200px; height:200px;"></div>
Run Code Online (Sandbox Code Playgroud)

webbrowser显示绿色框,但没有border-radii!然后我尝试将其保存到文件中,并在IE9中加载它,并且border-radii清晰可见.

我还FEATURE_BROWSER_EMULATION为我的Project1.exe 设置了注册表项,值为9999 Wow6432Node,对于64位内容的密钥也是如此.

我还检查了针对www.WhatsMyUserAgent.com的Useragent,它说我正在运行MSIE9.0

还有什么我需要做的吗?

编辑 - 修复: - 显然我需要在我的文档中使用以下Metatag:

<meta http-equiv="X-UA-Compatible" content="IE=9" />
Run Code Online (Sandbox Code Playgroud)

delphi webbrowser-control css3 internet-explorer-9

5
推荐指数
1
解决办法
3151
查看次数

与IE9相比,Firefox似乎在大多数元素的顶部增加了3px

另一个"Firefox不同意IE9",另一方面是问题.

我可以解释发生了什么,但是一张图片说了千言万语,所以我拍了一张FF和IE的屏幕:

这很糟糕

这是标记:

<div align="center" id="cmContainer" style="background-color: #8CFE70; border: 1px solid #2D9500; border-radius: 4px; width: 400px; height: 161px;"> 
   <span style="color: #2C2C2C; font-family: Arial; font-size: 20px; text-align: center;" /> 
   <font size="24">Look!</font>
   <br>
   See how different IE renders from FF?
   <br>
   How can I fix this?
   </span>
   <br>
   <input value="CODE" type="text" size="20" style="font: 20px Arial; color: #000000; background-color: #F3F3F3; border: 1px solid #8D8D8D; width: 300px; border-radius: 2px; text-align: center; margin-top: 0px; padding: 5px 3px 5px 3px; " />
   <br>
   <input type="button" value="I'm …
Run Code Online (Sandbox Code Playgroud)

html css firefox cross-browser

5
推荐指数
2
解决办法
1117
查看次数

VirtualTreeview拖放以排列列表中的节点

我有一个节点列表.我想添加一个拖放到重新排列的功能,但我不知道该怎么做.

我尝试使用TVirtualStringTree的OnDragDrop事件,但我无法理解.我查看了文档,遗憾的是没有用于普通节点拖放的最小示例代码.

请注意,它只是一个单级列表.没有层次.:)

delphi drag-and-drop virtualtreeview

5
推荐指数
1
解决办法
6167
查看次数

jQuery FadeIn如何知道使用的显示模式?

简单的问题:jQuery如何知道元素在使用fadeIn时应该使用哪种显示模式?

我的意思是,它似乎对我淡入的任何元素使用正确的显示模式,即使我display:none 最初在我的CSS中设置- 图像使用内联,div使用块等.

我查看了GitHub上的jQuery源代码,但我找不到我要找的东西.

我问的原因是因为我自己制作一个小插件,使用淡入淡出(但是使用Animate,因为有超过1个需要动画的属性).

html javascript jquery animation

5
推荐指数
1
解决办法
168
查看次数

访问Xamarin.iOS Settings.Bundle?

我已经尝试了很长一段时间来找到一个应该非常直接的问题的解决方案.我想要的是在应用程序未运行时可以在iPhone设置菜单中编辑的变量.基本上是包含在iOS GUI中的配置文件.

这应该是iOS中的内置功能,虽然我可以找到一些与之相关的方法,但我找不到实际的解决方案.

我最接近我想要的是它的工作方式与任何其他变量一样:在应用程序启动时清空,并在应用程序关闭时再次划伤.并且仍然无法在iPhone设置窗口中看到.

这是我的代码:

private void LoadSettingsFromIOS()
{
    // This is where it works like any other variable. Aka. gets scratched on app closing.
    _thisUser.SetValueForKey(new NSString("Blargh"), new NSString("SaveCredentials"));
    string stringForKey = _thisUser.StringForKey("SaveCredentials");

    // This is where I'm supposed to be able to load the data from settings and set the checkbox's 'On' state to the value. Currently it always returns False.
    bool saveCredentials = _thisUser.BoolForKey("SaveCredentials");
    chckBoxRememberMe.On = saveCredentials;
}
Run Code Online (Sandbox Code Playgroud)

和我的Settings.Bundle Root.pList文件:

  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST …
Run Code Online (Sandbox Code Playgroud)

c# iphone ios settings.bundle xamarin

5
推荐指数
1
解决办法
6875
查看次数

在 .NET 中重新加载程序集而不创建新的 AppDomain

我正在使用 C# 开发游戏引擎 + 编辑器。这个想法是用户将他的所有游戏代码写在编辑器将加载的项目中,因此它可以列出用户定义的类,并在场景编辑器中实例化它们。

搞乱(重新)加载 DLL 的概念,我可以加载 DLL,实例化和调用在外部程序集中定义的类上的方法,重建外部程序集,然后在主机中再次加载它,而无需重新启动主机。这项工作(至少看起来像),但是它并没有从先前加载的程序集中释放内存。

加载器类:

public class Loader
{
    // This DLL contains an implementation of ILoadable - ILoadable is declared in a shared project.
    private const string AsmPath = @"D:\Dev\AsmLoading\AsmLoadingImpl\bin\Debug\AsmLoadingImpl.dll";

    public ILoadable GetExternalLoadable()
    {
        var asmBytes = File.ReadAllBytes(AsmPath);
        Assembly asm = Assembly.Load(asmBytes, null);
        var loadableInterface = typeof(ILoadable);
        var loadableImpl = asm.GetTypes().First(loadableInterface.IsAssignableFrom);
        return (ILoadable)Activator.CreateInstance(loadableImpl);
    }
}
Run Code Online (Sandbox Code Playgroud)

运行GetExternalLoadable()2 或 3 次,任务管理器显示我的主机程序中的 RAM 使用量增加了约 1mb,重复相同的操作将进一步增加它,而不会减少。

有没有办法解决这个问题?我知道 Unity 正在做类似的事情,除了它们实际上自己编译外部程序集,但是当我触发几次重新编译时,Unity 编辑器不会消耗额外的内存。

所以,我想要完成的是外部程序集的“实时重新加载”

.net c# .net-assembly

5
推荐指数
1
解决办法
1699
查看次数