我一直在关注如何通过COM公开.NET框架的'教程'(http://msdn.microsoft.com/en-us/library/zsfww439.aspx和http://msdn.microsoft.com/ en-us/library/bd9cdfyx.aspx).除了活动部分,一切都有效.当我向C#接口添加事件时,会生成以下C++代码:
struct __declspec(uuid("..."))
_MessageEventHandler : IDispatch
{};
struct __declspec(uuid("..."))
IConnection : IDispatch
{
virtual HRESULT __stdcall add_MessageEvent (
/*[in]*/ struct _MessageEventHandler * value ) = 0;
virtual HRESULT __stdcall remove_MessageEvent (
/*[in]*/ struct _MessageEventHandler * value ) = 0;
}
Run Code Online (Sandbox Code Playgroud)
问题是我没有找到任何关于如何在C++中使用它的信息.我需要从派生_MessageEventHandler
和实施operator()
?或完全不同的东西?
(请注意,目前我还在尝试使用IConnectionPointContainer和IConnectionPoint的更多文档化方法.)
我之前发布了一个关于Java线程的查询.(链接文字)
根据我收到的答案,我决定实施它们.所以我在具有2个CPU内核的机器上完成了这一点编码.代码如下
import java.net.*;
import java.io.*;
public class thready implements Runnable{
private Socket num;
public thready(Socket a) {
this.num=a;
}
public void run() {
try {
BufferedInputStream is = new BufferedInputStream(num.getInputStream());
System.out.println("Connected to port"+num);
} catch (IOException ex) {
//Logger.getLogger(thready.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String [] args)
{
int port = 80;
int port1= 81;
//int count = 0;
try{
ServerSocket socket1 = new ServerSocket(port);
ServerSocket socket2 = new ServerSocket(port1);
while (true) {
Socket connection …
Run Code Online (Sandbox Code Playgroud) 并不是说它会更好,但我试图让我的头脑转向以下方法语法来查询语法以查看差异.
long diskSpace = Directory.EnumerateDirectories(@"c:\")
.SelectMany(Directory.EnumerateFiles)
.Sum(fileSize => new FileInfo(fileSize).Length);
Run Code Online (Sandbox Code Playgroud) 好吧,是时候回答我那天愚蠢的问题了.
我有一个外部css文件,基本上将背景图像分配给按钮.
Css代码:
input.keypad
{
cursor: pointer;
display: block;
min-width: 64px;
width: 64px;
height: 64px;
margin: 0;
border: 0;
background: url(images/btn1.jpg) no-repeat center top;
}
Run Code Online (Sandbox Code Playgroud)
Html代码:
<input class="keypad" type="button" name="btnClickMe" id="btnClickMe" value="Click Me">
Run Code Online (Sandbox Code Playgroud)
我的困境是我第一次加载页面它100%工作,但是当我刷新它时,它似乎忽略了css文件中设置的宽度和高度.图像在背景中,但因此被截断.
我认为它可能是某种缓存所以我包含了pragma标签,它根本没用.有任何想法吗?
我想在Joomla搜索模块中删除标签"搜索"(默认搜索模块).我已经从目录/ joomla15 /组件/ com_search /视图/搜索修改default_form.php/TMPL /甚至删除下面的代码,但它使网站上没有任何区别:
<label for="search_searchword">
<?php echo JText::_( 'Search Keyword' ); ?>:
</label>
Run Code Online (Sandbox Code Playgroud)
实际上我正在使用搜索的图像按钮,我不希望显示标签.我该怎么做才能删除它?
阅读帖子后如何通过新的RTTI设置事件处理程序?,我想知道是否有可能更动态地解决这个问题.例如,我想将任何组件的ALL事件处理程序设置为nil.
使用TValue.From <TNotifyEvent> (SomeMethod)
不起作用有两个原因:1.类型未知(可能是TNotifyEvent,TMouseEvent等)2.我不能将'SomeMethod'设置为nil(无效转换)
在旧的RTTI风格中,我会做类似的事情:
var
NilMethod: TMethod;
begin
[...]
NilMethod.Data := nil;
NilMethod.Code := nil;
SetMethodProp (AComponent,PropertyName,NilMethod);
Run Code Online (Sandbox Code Playgroud) Rails有一个has_one :through
关联,通过第二个模型帮助建立与第三个模型的一对一关联.除了建立一个快捷方式关联之外,它的实际用途是什么,否则这将是一个额外的步骤.
以Rails 指南为例:
class Supplier < ActiveRecord::Base
has_one :account
has_one :account_history, :through => :account
end
class Account < ActiveRecord::Base
belongs_to :supplier
has_one :account_history
end
class AccountHistory < ActiveRecord::Base
belongs_to :account
end
Run Code Online (Sandbox Code Playgroud)
可能允许我们做类似的事情:
supplier.account_history
Run Code Online (Sandbox Code Playgroud)
否则将达到:
supplier.account.history
Run Code Online (Sandbox Code Playgroud)
如果它只是为了更简单的访问,那么从技术上讲,可能存在一对一的关联,它将模型与通过n-1模型的某个第n个模型连接起来,以便于访问.除了快捷方式之外,还有什么我想念的吗?
假设我有这样的模型:
class Foo(models.Model):
name = models.CharField("ad",max_length=25)
type = models.ForeignKey(Type)
Run Code Online (Sandbox Code Playgroud)
所以在数据库中我有Foo对象具有相同的名称字段但不同的类型,即:
name type
A 1
A 2
B 1
C 2
A 3
B 3
Run Code Online (Sandbox Code Playgroud)
我将使用这些信息来生成一个html选择表单,显示所有可能的(不同的)名称,所以最后我的选择表单将显示如下:
<select>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如何获取不同值的列表name
?
我有一个表有一个描述数字ID的列,这对所有行都是唯一的(但它不是主键).数字ID是有限的(假设答案可以从1到10)
SELECT ID FROM TABLE;
ID
---
1
2
5
Run Code Online (Sandbox Code Playgroud)
我必须向用户(通过UI)呈现未使用的值,以便为新输入选择正确的值.我知道如何在代码上执行它(它是Grails Web应用程序),只需从数据库中获取所有ID并生成一个列表,其中包含不存在的ID.但我想知道是否有办法直接在SQL查询上执行此操作.
所以,该查询应该返回
ID
---
3
4
6
7
8
9
10
Run Code Online (Sandbox Code Playgroud)
数据库是Oracle,但也许有一种方法可以在其他数据库上工作.