问题列表 - 第19563页

ActiveRecord :: EagerLoadPolymorphicError:无法急切加载多态关联

class Transaction < ActiveRecord::Base
  belongs_to :account, :polymorphic => true
end

class Bankaccount < ActiveRecord::Base
  has_many :transactions, :as => :account
end

class Creditcard < ActiveRecord::Base
  has_many :transactions, :as => :account
end
Run Code Online (Sandbox Code Playgroud)

尝试对帐户处于活动状态的交易进行总结.

Transaction.sum(:all, :conditions => "account.status = 'active'", :include => :account)
Run Code Online (Sandbox Code Playgroud)

所以经过一些阅读后我发现了这个:原因是父模型的类型是一个列值,因此它的相应表名不能放在该查询的FROM/JOIN子句中.表名是bankaccounts和creditcards,这是否意味着它们应该是单数的?另外,account_type是一个字符串Bankaccount或Creditcard来反映模型,但它应该是tablename吗?

activerecord ruby-on-rails polymorphic-associations

11
推荐指数
1
解决办法
8826
查看次数

Marshal.PtrToStructure抛出System.ArgumentException错误

我试图从键盘钩子的lParam获取KBDLLHOOKSTRUCT.

    private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
    {

        KBDLLHOOKSTRUCT kbd = new KBDLLHOOKSTRUCT();
        Marshal.PtrToStructure(lParam, kbd); // Throws System.ArguementException
        ...
Run Code Online (Sandbox Code Playgroud)

不幸的是,PtrToStructure正在投掷两个

A first chance exception of type 'System.ArgumentException' occurred in myprogram.exe
Run Code Online (Sandbox Code Playgroud)

每次按下一个键都会出错.它也会阻止该方法的发展.

MSNDA说:http: //msdn.microsoft.com/en-us/library/4ca6d5z7.aspx

ArgumentException when:

The structureType parameter layout is not sequential or explicit.

-or-

The structureType parameter is a generic type.
Run Code Online (Sandbox Code Playgroud)

我能在这做什么才能让它发挥作用?lParam直接来自键盘钩子,所以我希望它是正确的.这些错误中的任何一个都有意义吗,我该怎么做才能解决它?

c# marshalling argumentexception

10
推荐指数
1
解决办法
2万
查看次数

动态地将成员添加到动态对象

我正在寻找一种动态添加成员动态对象的方法.好的,我想需要一点澄清......

当你这样做:

dynamic foo = new ExpandoObject();
foo.Bar = 42;
Run Code Online (Sandbox Code Playgroud)

Bar属性将在运行时动态添加.但代码仍然"静态"引用Bar(名称"Bar"是硬编码的)...如果我想在运行时添加属性而不知道它在编译时的名称怎么办?

我知道如何使用类的方法使用自定义动态对象(我实际上是几个月前的博客)DynamicObject,但是如何使用任何动态对象?

我可以使用IDynamicMetaObjectProvider界面,但我不明白如何使用它.例如,我应该将哪个参数传递给GetMetaObject方法?(它期待一个Expression)

顺便说一句,你如何对动态对象进行反射?"定期"反思TypeDescriptor并不显示动态成员......

任何见解将不胜感激!

reflection dynamic-language-runtime dynamic .net-4.0 c#-4.0

8
推荐指数
3
解决办法
3651
查看次数

Google API查找搜索计数

当我谷歌的东西,我得到了计数.

结果1 - 10约800

是否有任何API或类似的东西来捕获数字"800"?我有一个几千字的数据库,我想谷歌计数它.

linux api awk sed

7
推荐指数
1
解决办法
6005
查看次数

Android"管理应用程序"将我的应用程序名称显示为我的包名称,而不是友好名称

管理应用程序将我的应用程序显示为"com.mydomain.myapp"而不是"我的应用程序".我需要改变什么?

android

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

以用户身份从 Windows 服务运行进程失败并拒绝访问?

我正在开发一个需要对应用程序进行沙盒处理的项目。我能够创建一个 Windows 用户,创建一个目录,用一个应用程序填充该目录,并以用户身份运行该应用程序。这作为控制台应用程序运行完全正常,但是当我将其安装为服务时,出现以下异常:

System.ComponentModel.Win32Exception: Access is denied
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
Run Code Online (Sandbox Code Playgroud)

引发此异常的代码是:

_process = new Process
     {
     StartInfo =
        {
            Arguments = "",
            CreateNoWindow = true,
            ErrorDialog = false,
            FileName = instanceDirectory + "program.exe",
            WorkingDirectory = instanceDirectory,
            UseShellExecute = false,


            UserName = GetUserNameForInstance(_id),
            Password = GetPasswordForInstance(_id),
            Domain = ""
        },
    EnableRaisingEvents = true
    };

_process.Exited += ProcessExited;
_process.Start();
Run Code Online (Sandbox Code Playgroud)

同样,这仅在作为 Windows 服务运行时才会抛出。根据 Windows 中的“服务”面板,该服务在 LOCAL SYSTEM 下运行。

有任何想法吗?

c# windows-services process sandbox

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

工厂,抽象工厂和工厂方法

我对这三个术语感到很困惑.

我的理解是:

  • 在工厂模式中,没有混凝土工厂.工厂根据参数构建新对象.

  • 在抽象工厂模式中,有多个混凝土工厂.客户必须明确地创建不同的具体工厂.

是对的吗?

还有什么区别?

此外,什么是工厂方法模式?它与工厂模式相同吗?

design-patterns factory factory-pattern abstract-factory

42
推荐指数
1
解决办法
1万
查看次数

考虑到一个数字大于另一个数字,2个数字的可能结果数量

我正在尝试编写一种算法来计算结果.但我需要有关组合学的帮助.

假设我必须从1到10中选择2个数字.根据计算的基本规则,在没有任何限制的情况下,可能结果的数量是10*10 = 100.(选择第一个数字x 10可能的10个可能结果选择第二个结果).

鉴于第一个数字必须大于第二个数字,可能的结果数量是多少?

algorithm combinations permutation combinatorics

0
推荐指数
2
解决办法
467
查看次数

在图形硬件上浮动vs双倍

我一直试图找到有关在图形硬件上使用float vs double的性能的信息.我已经在CPU上找到了关于float vs double的大量信息,但是GPU的这种信息更加稀缺.

我使用OpenGL进行编码,因此,如果您认为应该知道该API的任何特定信息,那就让我们了解一下.

我知道如果程序将大量数据移入/移出图形硬件,那么使用浮点数可能会更好,因为双倍需要两倍的带宽.我的询问更多的是图形硬件如何处理它.据我所知,现代英特尔CPU将浮点/双精度转换为80位实数进行计算(不包括SSE指令),因此这两种类型的速度同样快.现代显卡做这样的事吗?浮动和双重表现现在大致相等?是否有任何强有力的理由使用一个而不是另一个?

opengl floating-point double graphics

23
推荐指数
2
解决办法
1万
查看次数

如何从String创建对象?

我试过下面的代码:

$dyn = "new ". $className . "(" .$param1 . ", ". $param2 . ");";
$obj = eval($dyn);
Run Code Online (Sandbox Code Playgroud)

它编译但它是空的.

你怎么能在PHP动态实例对象?

php

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