问题列表 - 第8566页

在2台机器上生成的.tlh是不同的

我有一个.NET DLL,它有一些暴露给com的接口\类.在构建过程中生成一个.tlb文件,这个tlb由一些c ++代码引用.结果,编译器为tlb生成.tlh文件.

当我在本地运行构建时,其中一个接口中的一个属性最终会得到tlh中不具有相同名称的相应方法..net代码中的属性称为PropertyA,最终称为get_propertyA,而PropertyB最终称为get_PropertyB.当发生这种情况时我没有眨眼睛,只是使用了tlh中定义的方法,并假设一切都是笨拙的,但是当我编写这些更改时,构建对其他任何人都不起作用,因为编译器生成了名为get_PropertyA的属性, get_PropertyB(在propertyA中注意案例不匹配).

在两台机器上生成的tlb文件是相同的(根据十六进制比较器),并且tlh文件都由相同的编译器版本生成.

构建过程通过执行以下操作创建tlb:regasm path\to\dll\Mydll.dll -tlb:path\to\output\mydll.tlb

任何想法为什么我的本地版本最终与一个名称不正确的属性?或者我能做些什么来解决它?

更新:我读到tlbexp将使用它找到的字符串的第一个版本,并且可以通过重新编译来更改.虽然我没有使用tlbexp,但我想知道这是不是问题.我找到了与我的方法同名的参数(在其他方法中),但在开头有一个小写字母.所以我替换了所有这些.重建,没有变化.所以我然后重命名了我的COM方法.重建并获得预期的丢失方法错误.将方法重命名为原始名称,嘿,它似乎是固定的.因为它现在似乎工作,我不能让它再次失败我不能尝试建议的解决方案,但我喜欢重命名的想法,以防将来发生这种情况.

.net compiler-construction com interop typelib

6
推荐指数
2
解决办法
2016
查看次数

Collection Alternative - ConcurrentModificationException

我正在迭代一个JRE Collection,它强制执行fail-fast迭代器概念.问题是如果对象满足条件,我需要删除对象的逻辑伙伴.从而防止合作伙伴被处理.有人可以为此建议更好的收集类型吗?

例.

myCollection<BusinessObject>

for (BusinessObject anObject : myCollection) 
{ 
  if (someConditionIsTrue) 
  { 
    myCollection.remove(anObjectsPartner); // throws ConcurrentModificationException 
  }
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

java collections

6
推荐指数
2
解决办法
1710
查看次数

在Java中的字段中存储类泛型

有没有办法将构造中传递的泛型参数类型存储到参数中.我的目标:

class generic<T> {
    Class<T> type;
    public generic() {
        super();
        this.type = //Something that gets class from T
    }
}
Run Code Online (Sandbox Code Playgroud)

我目前正在做的是:

class generic<T> {
    Class<T> type;
    public generic(Class<T> type) {
        super();
        this.type = type;
    }
}
Run Code Online (Sandbox Code Playgroud)

必须两次指定类似乎很愚蠢,但我不确定如何做到这一点.我认为这可能是通过反思实现的,但我还没有调查过.有更简单的方法吗?如果没有(作为一边)为什么信息丢失?

java generics

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

IE浏览器滚动条的宽度?

我的显示器上有一个分辨率宽度为1200的客户端,我需要最大化我的网站宽度,但我不希望客户端必须使用水平滚动条.在IE 7的网站中可以使用的最大宽度是多少,屏幕分辨率为1200,而不需要使用水平滚动条(其他用户的宽度更大,所有用户必须具有相同的宽度)?

额外信息 - 网站已经构建,不能使用100%的宽度,因为这会在非文本网站中产生不良后果.是的,分辨率宽度为1200(客户端有一个1920 X 1200分辨率的显示器,侧面设置).

操作系统是Vista,作为客户端是政府,他至少要到2010年才能拥有Vista,并且不能改变他的主题/浏览器等.

css internet-explorer

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

释放从C函数返回的内存

在C中,这是从释放函数返回的内存时更好的做法:

  • 提供一个"析构函数"函数,封装对free()的调用.
  • 要求用户自己释放()返回的指针.

例如,要打开和关闭我们执行的文件:

FILE* f = fopen("blah", "w");
fclose(f);
Run Code Online (Sandbox Code Playgroud)

这更适合:

FILE* f = fopen("blah", "w");
fclose(f);
free(f);
Run Code Online (Sandbox Code Playgroud)

警告:不要在FILE指针上调用free().我只在这里使用它假设的实现.

那么局部变量指向返回的内存的情况呢?免费()有害吗?(或者也许永远不应该这样做)

FILE f = &fopen("blah", "w");
fclose(&f);
Run Code Online (Sandbox Code Playgroud)

c free file

5
推荐指数
3
解决办法
2587
查看次数

如何使Perl等待使用system()在后台启动的子进程?

我有一些Perl代码执行多个参数的shell脚本,为了简化,我只是假设我有这样的代码:

for $p (@a){
    system("/path/to/file.sh $p&");
}
Run Code Online (Sandbox Code Playgroud)

之后我想做更多的事情,但是我找不到等待所有子进程完成的方法,然后再继续.

将代码转换为使用fork()会很困难.是不是有更简单的方法?

linux perl wait child-process

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

HttpServletRequest的属性字段如何映射到原始HTTP请求?

在Java中,可以使用getAttribute方法检索HttpServletRequest对象的属性字段:

String myAttribute = request.getAttribute("[parameter name]");
Run Code Online (Sandbox Code Playgroud)

HttpServletRequest属性数据存储在原始HTTP请求中的位置?它是在请求的正文中吗?

例如,我正在尝试创建一个原始GET HTTP请求,该请求将使用某个客户端程序发送到我的servlet.我的servlet.doGet()方法将是这样的:

public void doGet(HttpServletRequest request, HttpServletResponse response)
{
     String myAttribute = request.getAttribute("my.username");
     ...
}
Run Code Online (Sandbox Code Playgroud)

我应该在哪里将'my.username'数据放在原始HTTP请求中,以便'myAttribute'字符串在归属后收到值"John Doe"?

java servlets http

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

内置类型,何时(不)使用?

C#和VB.NET带有映射到CLR类型的内置类型.例如:int(C#)和Integer(VB)映射到System.Int32,long(C#)和Long(VB)映射到System.Int64.决定何时使用内置类型或不使用它们的最佳实践是什么(使用System.*structs/classes代替)?

.net c# vb.net

7
推荐指数
4
解决办法
2943
查看次数

jQuery自动完成图像

我想在我的网站上实现图像的自动完成功能.

我想使用jQuery自动完成插件.

我看了他们的示例代码.

任何人都可以解释下面代码在$(document).ready()事件中的含义:

$("#imageSearch").autocomplete("images.php", {
  width: 320,
  max: 4,
  highlight: false,
  scroll: true,
  scrollHeight: 300,
  formatItem: function(data, i, n, value) {
    return "<img src='images/" + value + "'/> " + value.split(".")[0];
  },
  formatResult: function(data, value) {
    return value.split(".")[0];
  }
});
Run Code Online (Sandbox Code Playgroud)

我的最终要求是当我在文本框中键入一些字母时,我希望选项附带与之关联的图像.

javascript jquery autocomplete

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

使用jquery Bind方法,这是我以前从未见过的

试图熟悉jQuery,我遇到了一些我无法理解的示例代码.它指的是绑定方法及其使用方式.这里是

$('textControl').bind(($.browser.opera ? 'keypress', 'keydown') + '.autocomplete', function(event) { code...});
Run Code Online (Sandbox Code Playgroud)

我理解选择按键或keydown,但我不明白为什么他们在偶数处理程序名称上附加.autocomplete?

如果有人能够散发一些很棒的光

谢谢

jquery

3
推荐指数
2
解决办法
1137
查看次数