我使用c#编写了一个.net程序集来执行将由托管代码和非托管代码使用的函数.我有一个VB6项目,现在需要通过COM使用程序集.
我创建了我的.net程序集,确保将ComVisible设置为true,并通过项目属性为COM interop注册.
public class MyClass
[ComVisible(true)]
public string GetResponse()
{
return "Testing Response"
}
}
Run Code Online (Sandbox Code Playgroud)
我构建程序集并将文件复制到一个文件夹中.TestInterop.dll
然后我运行批处理文件来注册组装工具以注册COM的对象.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\
regasm "c:\Program Files\TestApp\TestInterop.dll" /tlb:TestInterop.tlb
Run Code Online (Sandbox Code Playgroud)
我打开一个新的VB6应用程序并引用TestInterop.dll
在VB6中,我编写以下代码并编译.
Dim obj as TestInterop.MyClass
Set obj = new TestInterop.MyClass
Dim strTest as string
strTest = obj.GetRespose()
Run Code Online (Sandbox Code Playgroud)
当我运行程序时,它在obj.GetResponse()行上出错.
Run-time error' -2147024894 (80070002'):
Automation error
The system cannot find the file specified
Run Code Online (Sandbox Code Playgroud)
此外,intellesense不适用于obj.我不得不输入GetResponse方法.这是正常的吗?
有没有人知道什么可能是错的或我错过了什么步骤.谢谢!
以下代码与Eclipse完美编译,但无法使用javac进行编译:
public class HowBizarre {
public static <P extends Number, T extends P> void doIt(P value) {
}
public static void main(String[] args) {
doIt(null);
}
}
Run Code Online (Sandbox Code Playgroud)
我简化了代码,所以现在根本不使用T. 不过,我没有看到错误的原因.由于某种原因,javac决定T代表Object,然后抱怨Object不符合T的界限(这是真的):
HowBizarre.java:6:不兼容的类型; 推断类型参数java.lang.Number,java.lang.Object不符合类型变量的范围P(T)
发现:
<P,T>无效要求:无效
Run Code Online (Sandbox Code Playgroud)doIt(null); ^
请注意,如果我将null参数替换为非null值,则编译正常.
哪个编译器行为正确,为什么?这是其中之一的错误吗?
我总是独自编程,我还是学生,所以我从未与其他人一起编程,我以前甚至都没有使用版本控制系统.
我现在正在开展一个项目,需要了解程序员如何在公司的一个软件上协同工作.
软件是如何编译的?它来自版本控制系统吗?是个别程序员吗?这是周期性的吗?是有人决定建造什么的吗?是否有任何测试以确保它"有效"?
什么都行.
version-control continuous-integration unit-testing compilation
在这一点上,这对我来说真的只是一个概念性的问题.
在Lisp中,程序是数据,数据是程序.REPL正是这样做 - 读取然后进行评估.
那么如何以安全的方式从用户那里获得输入呢?显然它是可能的 - 我的意思是viaweb - 现在雅虎!商店非常安全,所以它是如何完成的?
我在VS2010 Express中编写了一系列单元测试,并测试它们有时会失败的测试.由于VS的快速版本不允许插件运行,我不能简单地启动TestDriven.Net或等效的并调试测试.为了尝试解决这个问题,我将测试程序集转换为控制台应用程序,并使main方法如下所示:
class CrappyHackToDebugUnitTestInVSExpress
{
public static void Main()
{
AppDomain.CurrentDomain.ExecuteAssemblyByName(
@"C:\Program Files\NUnit 2.5.5\bin\net-2.0\nunit-console.exe",
new [] { Assembly.GetExecutingAssembly().Location, "/framework:4.0" });
}
}
Run Code Online (Sandbox Code Playgroud)
理论上我应该能够运行它,在我的测试中设置断点.如果它工作,这将是一个可接受的工作,但我一直得到以下:
FileLoadException
Could not load file or assembly 'C:\\Program Files\\NUnit 2.5.5\\bin\\net-2.0\\nunit-console.exe'
or one of its dependencies. The given assembly name or codebase was invalid.
(Exception from HRESULT: 0x80131047)
Run Code Online (Sandbox Code Playgroud)
现在文件存在,当手动运行时,nunit-console运行正常.可能是我的问题?
您好我正在寻找Android手机的个性化屏幕锁,而不是键入数字,用户可以弯曲手指在特定模式和解锁屏幕.任何指针/想法都表示赞赏.
我正在使用.NET来创建视频上传应用程序.虽然它正在与YouTube通信并上传文件,但该文件的处理失败.YouTube向我显示错误消息"上传失败(无法转换视频文件)".这可能意味着"您的视频采用我们的转换器无法识别的格式......"
我尝试过两个不同的视频,当我手动上传时,这些视频都会上传和处理.所以我怀疑我的代码是.)没有正确编码视频和/或b.)没有正确发送我的API请求.
以下是我构建API PUT请求和编码视频的方法:
任何有关错误可能的建议都将受到赞赏.
谢谢
PS我没有使用客户端库,因为我的应用程序将使用可恢复的上传功能.因此,我手动构建我的API请求.
文档:http://code.google.com/intl/ja/apis/youtube/2.0/developers_guide_protocol_resumable_uploads.html#Uploading_the_Video_File
码:
// new PUT request for sending video
WebRequest putRequest = WebRequest.Create(uploadURL);
// set properties
putRequest.Method = "PUT";
putRequest.ContentType = getMIME(file); //the MIME type of the uploaded video file
//encode video
byte[] videoInBytes = encodeVideo(file);
public static byte[] encodeVideo(string video)
{
try
{
byte[] fileInBytes = File.ReadAllBytes(video);
Console.WriteLine("\nSize of byte array containing " + video + ": " + fileInBytes.Length);
return fileInBytes;
}
catch (Exception e)
{ …Run Code Online (Sandbox Code Playgroud) 我试图通过添加服务引用来在类库中使用WCF服务.在其中一个类库中,它被正确使用,我可以访问客户端类型,以便从中生成代理.但是在我的第二个类库(甚至在控制台测试应用程序中),当我添加相同的服务引用时,它只公开合同操作中涉及的类型,而不是我生成代理的客户端类型.
例如,Endpoint有2个服务暴露 - ISvc1和ISvc2.当我在第一个类库中向此端点添加服务引用时,我得到ISvc1Client和f ISvc2Client来生成代理,以便使用通过这两个合同公开的操作.除了这些客户端之外,服务引用还公开了操作中涉及的类型,如(类型1,类型2等),这就是我需要的.但是,当我尝试在另一个控制台应用程序或类库中添加服务引用到同一个endpoing时,只有Type 1,Type 2等公开,而不是ISvc1Client和ISvc2Client,因为我无法生成代理来访问我需要的操作.我无法确定为什么服务引用在一个类库中正确生成而在另一个类或测试控制台应用程序中没有生成.
我想在我的云中为多个服务器制作BIT(内置测试).我需要请求在大超时时失败.
我应该如何用java做到这一点?
尝试类似下面的东西似乎不起作用.
public class TestNodeAliveness {
public static NodeStatus nodeBIT(String elasticIP) throws ClientProtocolException, IOException {
HttpClient client = new DefaultHttpClient();
client.getParams().setIntParameter("http.connection.timeout", 1);
HttpUriRequest request = new HttpGet("http://192.168.20.43");
HttpResponse response = client.execute(request);
System.out.println(response.toString());
return null;
}
public static void main(String[] args) throws ClientProtocolException, IOException {
nodeBIT("");
}
}
Run Code Online (Sandbox Code Playgroud)
- 编辑:澄清正在使用的库 -
我正在使用apache的httpclient,这是相关的pom.xml部分
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.0.1</version>
<type>jar</type>
</dependency>
Run Code Online (Sandbox Code Playgroud) 如果我有一个自定义类Person,它有三个变量(属性化和合成):
NSString* theName;
float* theHeight;
int theAge;
Run Code Online (Sandbox Code Playgroud)
Person实例存储在NSArray'Group'中.只有一个集团.在NSUserDefaults中存储和加载组的最佳方法是什么?(请记住,对于NSUserDefaults,float和int不合法)
.net ×2
compilation ×2
java ×2
unit-testing ×2
android ×1
c# ×1
com ×1
eclipse ×1
encoding ×1
generics ×1
http ×1
iphone ×1
lisp ×1
locking ×1
nsarray ×1
nsdictionary ×1
null ×1
nunit ×1
objective-c ×1
reference ×1
screen ×1
security ×1
service ×1
timeout ×1
validation ×1
vb6 ×1
video ×1
wcf ×1
youtube ×1
youtube-api ×1