我想知道是否可以在不使用RegAsm工具的情况下注册类型库.这是我的情况,希望能解释我为什么要这样做:
我正在开发.NET中的程序集,它将为我们的旧VB6应用程序提供一些现代功能.我使用RegAsm在我的开发机器上成功注册了程序集和类型库,如下所示:
regasm.exe MyAssembly.dll /tlb /codebase
Run Code Online (Sandbox Code Playgroud)
上面的命令生成类型库(MyAssembly.tlb)并注册它以及注册程序集.我需要注册的类型库,以便我可以在VB6中使用Intellisense.
这个方法的问题 在于,在生成类型库文件时,我没有像使用TlbExp.exe那样具有相同级别的控制.特别是,我需要使用TlbExp的/ names标志来指定我的属性名称的正确情况(RegAsm屠宰它们).因此,如果我使用TlbExp生成我的tlb文件,是否有任何方法可以将其与程序集注册过程分开注册?
编辑: da_m_n的回答对我问的问题是正确的.但是,我错误的假设是因为RegAsm可以注册一个类型库,必须注册tlb以便在VB6中引用它.所以现在我正在注册程序集并使用固定名称引用未注册的TlbExp生成的tlb.
我的数据框有一些数值变量和一些分类factor变量.这些因素的等级顺序不是我希望它们的方式.
numbers <- 1:4
letters <- factor(c("a", "b", "c", "d"))
df <- data.frame(numbers, letters)
df
# numbers letters
# 1 1 a
# 2 2 b
# 3 3 c
# 4 4 d
Run Code Online (Sandbox Code Playgroud)
如果我更改了级别的顺序,则这些字母不再带有相应的数字(我的数据从这一点开始是完全无意义的).
levels(df$letters) <- c("d", "c", "b", "a")
df
# numbers letters
# 1 1 d
# 2 2 c
# 3 3 b
# 4 4 a
Run Code Online (Sandbox Code Playgroud)
我只想更改级别顺序,因此在绘图时,条形图按所需顺序显示 - 可能与默认的字母顺序不同.
我在数组中有七个单词:
string[7] = {x,x,x,x,x,x,x};
Run Code Online (Sandbox Code Playgroud)
x是从另一个数组生成的:
string[4]={a,b,c,d};
Run Code Online (Sandbox Code Playgroud)
这意味着每个x可以是a或b或c或d.它是随机生成的.这可能是一个例子:
string[7]= {a,a,d,a,a,c,a}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何检查是否有五个具有相同值的x?
这是我正在努力的扑克应用程序.
使用以下语法从C#应用程序调用C++编写的.dll会增加多长时间?
[DllImport("abc.dll", EntryPoint = "xcFoo", CallingConvention = CallingConvention.Cdecl)]
public extern static Result Foo(out IntPtr session,
[MarshalAs(UnmanagedType.FunctionPtr)]ObjectCallback callback,
UInt64 turnKey,
string serverAddress,
string userId,
string password);
Run Code Online (Sandbox Code Playgroud)
有更有效的方法吗?
在我正在研究的项目中,如果我可以对guid的内存列表进行排序并与这些相同guid命令的SQL服务器表进行比较,那将是很好的.不幸的是,当SQL Server返回有序列表时,订单不会立即显现.
在内存列表中对此进行排序的最佳方法是什么,以便顺序与SQL Server返回的顺序相同?
例如,查询" SELECT ID FROM TABLE1 ORDER BY ID"返回:
A46030EC-BF3A-4F7C-88CC-00117DBC1A52
159A0A9D-18B7-4D6C-ABB3-005FAB666D91
3C58CFC5-1829-481C-9686-007CE71132B8
15A96D5F-DAFB-4EF1-9202-00B201CE5151
BCFDE733-0AB0-483F-B912-00BF93F6FA7E
6CC06558-7670-4879-9D3F-00CB3D3649BD
Run Code Online (Sandbox Code Playgroud)
为了这个问题,我假设我有一个包含上面guid值的字符串数组,但是按照以下顺序:
159A0A9D-18B7-4D6C-ABB3-005FAB666D91
15A96D5F-DAFB-4EF1-9202-00B201CE5151
6CC06558-7670-4879-9D3F-00CB3D3649BD
8A9325AF-A84E-4BDB-AFA8-C9D09D7FC064
A46030EC-BF3A-4F7C-88CC-00117DBC1A52
BCFDE733-0AB0-483F-B912-00BF93F6FA7E
Run Code Online (Sandbox Code Playgroud)
我想看到我在SQL查询中缺少一个,并且有一个SQL查询没有的查询.最快的方法显然是将两个列表以相同的方式排序,但我不想执行诸如" SELECT ID FROM TABLE1 ORDER BY cast(ID as varchar(100))"之类的查询,而是希望在Delphi端修复排序.
我想将字符串的第一个字符转换为大写,其余字符转换为小写.我该怎么做?
例:
String inputval="ABCb" OR "a123BC_DET" or "aBcd"
String outputval="Abcb" or "A123bc_det" or "Abcd"
Run Code Online (Sandbox Code Playgroud) 我需要为一个项目创建一个正则表达式解析器,我正在使用 ANTLR v3 来做到这一点。我试图找到一个最新的、类似于 Perl6 的正则表达式语法。有人有消息来源吗?由于某种原因,谷歌搜索一直很困难。
我已经更改了一些GenericForeignKey()可以引用的对象的默认管理器,这些对象可能不再出现在该默认管理器中.
我有其他经理可以找到这些已删除的对象,但我认为没有办法告诉内容类型框架.这可能吗?
我正在使用一些涉及以下经理的模型实现"软删除":
from django.db import models
SDManager(models.Manager):
def get_query_set(self):
return super(SDManager, self).get_query_set().filter(is_deleted=False)
SDDeletedManager(models.Manager):
def get_query_set(self):
return super(SDDeletedManager, self).get_query_set().filter(is_deleted=True)
Run Code Online (Sandbox Code Playgroud)
这允许我执行以下操作:
SDModel(models.Model):
# ...
objects = SDManager() # Only non (soft) deleted objects
all_objects = models.Manager() # The default manager
deleted_objects = SDDeletedManager() # Only (soft) deleted objects
Run Code Online (Sandbox Code Playgroud)
当使用GenericForeignKey()模型中的字段来引用定义的对象(例如SDModel,它)时,它使用_default_manager对objects管理器求值的属性来获取引用.这意味着当对象被软删除时它会丢失引用.
这是我使用GenericForeignKey()字段的主要原因之一.我一直在研究的解决方案是实现内容类型框架的较小版本,以便我可以定义自己get_object()使用all_objects管理器来访问引用对象.
所以我的问题是:
是否可以使用现有内容类型框架的非默认管理器,以便找到软删除的对象,或者我是否必须从头开始重新实现所需的所有部分?
我正在使用iTextSharp和reader.GetPageContent方法从PDF中提取文本.我需要找到文档中找到的每个单词的矩形/位置.有没有办法使用iTextSharp获取PDF中单词的矩形/位置?
我正在为我的网站设计视图,该网站有一个标准的登录和登录页面,我希望为我的登录页面调用onLoad函数,但不是我的其他页面(尚未).我有一个template.xhtml文件,它有这个插入:
<div id="content">
<ui:insert name="content"/>
</div>
然后在login.xhtml我有:
<ui:define name="content">
...
</ui:define>
通常我会把它放在login.xhtml中:
<body onload="document.getElementById('login_form:name').focus();">
但由于我使用的是JSF的ui组合标签,因此我无法<body/>在login.xhtml中使用该标签(至少我尝试这样做的方式).
有没有办法用我描述的结构来实现这一目标?我想这样做的方法是让onLoad调用模板中的一个函数,然后每个带有ui:define的页面都会填充这个函数.那可能吗?
谢谢!
c# ×3
java ×2
string ×2
.net ×1
antlr ×1
c++ ×1
com-interop ×1
compare ×1
content-type ×1
delphi ×1
django ×1
facelets ×1
generics ×1
grammar ×1
guid ×1
interop ×1
itextsharp ×1
jsf ×1
jsp ×1
levels ×1
managed ×1
parsing ×1
pdf ×1
r ×1
random ×1
regasm ×1
regex ×1
sorting ×1
sql-server ×1
tlbexp ×1
unmanaged ×1