首页 文章
  • 0 votes
     answers
     views

    从VS2008中的VC Win32 Windows窗体访问COM Dll

    我试图在本文的帮助下使用在VB 6中编写VC的COM DLL - http://www.codeproject.com/Articles/8745/A-Beginner-tutorial-for-writing-simple-COM-ATL-DLL 我已经创建了COM Dll以及VB表单,该项目工作正常 . 现在我试图在VS2008编写的Win32 Windows窗体应用程序中使用相同的COM...
  • 1 votes
     answers
     views

    vc 64位dll参数大小不正确

    我只是尝试使用VC(VS2015)创建一个简单的DLL,使用单个导出函数,并从Win32应用程序调用此函数 . 我正在测试在x86和x64构建配置中构建dll和exe . 当编译为x86时,一切都按预期工作,但是当我编译为x64并进入dll函数调用时,函数参数都是垃圾数据 . 我在DLL和应用程序项目中包含的头文件中定义了如下函数: #ifdef CPPDLL_EXPORTS #define CP...
  • 34 votes
     answers
     views

    .NET“所有COM都在下面”吗?

    多年来,我一直是Juval Lowy在.NET开发方面的教学和指导的崇拜者 . 他还写了我最喜欢的书之一:Programming .NET Components . 然而,在最近的DotNet Rocks播客(2010年1月)讨论WCF / COM和.NET时,他发表了一些令我惊讶的评论: JuvalLöwy:在.NET中,瞧,这里的每个类都是COM对象 . 我们知道 . 事实上,它远远超过CO...
  • 3 votes
     answers
     views

    如何让.NET不使用已注册的TLB来编组调用COM方法?

    目前的配置是: 主应用程序是不受管理的 . 它包含DLL,包含TLB,它描述了暴露给COM模型的函数 . 为了支持ASMX Web服务,它加载.NET框架,并启动提供Web服务调用的ASP.NET域 . 要提供Web服务调用,它需要主应用程序中的数据 . 因此,我们从TLB生成Interop程序集(使用tlbimp.exe),Web服务程序集使用此Interop与主应用程序中的CO...
  • 0 votes
     answers
     views

    使用iText的Acro Tmp文件

    我在Unix上使用旧的iText库生成PDF文件 . 一切都很顺利,但我的开发团队刚刚联系我,告诉他们存在一些临时文件的存储问题 . 经过讨论,他们指出我在/ tmp文件夹下创建了很多“Acroaxxxxx”文件 . 我正在检查它,文件与我使用我的应用程序生成的文件相同,但我的代码没有处理这个 . 我的问题很简单:我可以修改或添加一些代码来指示iText删除在此过程中创建的tmp文件吗? Thnk...
  • 2 votes
     answers
     views

    使用C#/托管代码为免注册COM Interop设置DLL

    我是COM的新手,必须为C dll创建一个COM包装器,以使托管代码可以访问它的某些功能 . 我主要跟着this tutorial on code project来创建一个COM ATL dll . 我创建了一个后构建步骤,调用COM dll上的tlbimp.exe来创建包装 . 添加对tlbimp.exe创建的dll的引用有效,并且我获得了COM dll上的方法的代码完成,并且可以编译使用该dl...
  • 3 votes
     answers
     views

    从.NET任务中提升COM事件?

    我创建了一个暴露给COM的.NET类,并从VB6应用程序中使用 . 这个.NET类运行一个Task,它引发了一些事件 . 似乎这些事件是在VB6应用程序的主线程中引发的,而且一切正常 . 我试图了解它是如何工作的 . 事件是否以某种方式封送到主线程 - 通过.NET还是COM?根据我的阅读,如果正在使用STA线程,那么来自该线程外部的调用将使用Windows消息队列进行封送 . 从VB6调用.NE...
  • 0 votes
     answers
     views

    管理COM可重入性

    我试图找到托管COM组件如何处理AppDomain重入的准确解释 . 我有一种情况,我从.Net应用程序调用COM组件(VB6),并且该COM组件正在创建一个托管COM组件(.NET)并调用它 . 我想清楚地了解对托管COM组件的调用是否将在发起COM调用的同一AppDomain上 . 基本上,ASP.Net到COM到.Net . 我希望最后一个回到启动它的同一个ASP.Net appdomain...
  • 7 votes
     answers
     views

    强制.NET互操作使用本地COM DLL

    是否可以强制互操作程序集引用其关联的COM DLL的本地副本? 这是场景: 我有一个引用互操作程序集(Interop.OTAClient.dll)的.NET应用程序,它是COM DLL的互操作程序(OTAClient.dll,它是HP Quality Center的自动化API) . 我对COM不是很了解,但据我所知,interop程序集通过注册表中的GUID引用查找COM类,而不是指向特定文件 ...
  • 2 votes
     answers
     views

    更新COM DLL后部署.NET服务

    我正在尝试更新vb6 DLL并重新部署.NET服务,但是我收到以下错误: System.Runtime.InteropServices.COMException(0x80040154):由于以下错误,检索具有CLSID 的组件的COM类工厂失败:80040154 . 我正在部署的步骤如下: 编译VB6 COM DLL 在目标计算机上注册COM dll 使用tblimp创建Inter...
  • 12 votes
     answers
     views

    在构建服务器上注册COM引用的DLL

    我们正在开发一个引用一些COM库的C#应用程序(例如AutoIT) . 我在源控件下包含所有引用的组件,在第三方“Libs”文件夹中 . 问题是COM dll在.csproj文件中没有HintPath属性,我认为必须使用regsvr32(或使用某种脚本)手动注册这些属性 . 我目前正在寻找创建一个将在每次构建之前运行的MSBuild脚本,但是我无法弄清楚我应该手动调用regsvr32.exe还是使...
  • 1 votes
     answers
     views

    “值不在预期范围内 . ”尝试使用c#调用COM对象上的方法时

    尝试使用c#调用COM对象上的方法时出现异常 . 只有当我尝试在不使用tlbimp.exe生成的COM运行时可调用包装器(RCW)互操作程序集的情况下调用该方法时,才会发生这种情况 . 当严格使用COM互操作程序集时,一切都很完美 . 我不想使用COM互操作程序集的原因是因为目标机器上的CLSID和ProgID可能与创建互操作程序集时不同,但方法名称,定义和结构是相同的 . 但是,在此测试中,CO...
  • -1 votes
     answers
     views

    在请求的情况下,PHP cURL在单个请求中检索响应头和正文?

    我有一个网站,重定向到另一个网址 . 我使用了这个解决方案:Can PHP cURL retrieve response headers AND body in a single request?但它为"body"返回一个空字符串,因为被调用的url有重定向 . 重定向后如何获取内容?
  • 1 votes
     answers
     views

    Excel VBA中的C#COM互操作DLL

    在尝试从已经存在的DLL源构建用于Excel VBA的DLL时,我陷入了第一步 . 来源看起来像这样 using System; using System.Runtime.InteropServices; using System.Text; namespace ZCon { public class ZConsts { #if __MonoCS__ ...
  • 0 votes
     answers
     views

    COM Interop的C#dll,可以从VB6调用

    我在C#中开发了一个简单的类库,并希望通过VB6的COM Interop公开他的方法和变量 C#解决方案随着COM Enabled,组件文件中的接口GUID标识符以及接口和唯一功能一起发布 当我添加发布后生成的tlb文件时,VB6 IDE很好地链接文件,我可以在设计时看到方法和属性,但是当我执行代码时,我收到错误#429“无法创建ActiveX对象” 我尝试用命令'regasm','gacutil...
  • 3 votes
     answers
     views

    使用WiX注册COM服务器

    我一直在尝试确定一个最佳案例解决方案,用于使用WiX注册COM服务器来创建Windows Installer程序包并且正在努力 . 在这篇文章Deployment Engineering Archive: HOWTO: Use Regsvr32.exe with WIX中,有一个打开请求"Setup police"通过exe自定义操作来打击使用regsvr32 . 我知道使用 ...
  • 1 votes
     answers
     views

    使用wix注册标记为COM interop的.Net程序集

    我有一个vanilla .net类库,其中包含一些[ComVisible]类型,并且程序集本身标记为“Register for COM Interop” . 我正在尝试为应用程序构建一个WIX安装程序,它不仅需要将.net程序集复制到目标机器上的INSTALLATIONDIR,还需要注册该对象,以便一些传统的VB6应用程序可以使用.net程序集 . 我一直在使用heat.exe(更准确地说是热文件...
  • 0 votes
     answers
     views

    Wix:COM注册加热还是ComPlusExtension?

    我们用Wix构建我们的设置 . 我们混合使用本机和.NET组件,并使用COM进行互操作 . 到目前为止,我已经使用heat.exe生成wix片段来安装.NET程序集并将它们注册为COM服务器 . 由heat创建的wix片段负责编写与COM相关的注册表项 . 但是,有人告诉我你也可以使用ComPlusExtension进行COM注册 . 关于这个"ComPlus"的东西我能找到的...
  • 0 votes
     answers
     views

    用于COM Interop的WiX寄存器组件

    我真的在与WiX挣扎 . 我有要安装的.NET程序集需要注册COM Interop,并且它们必须在另一个框架中注册,该框架需要在GAC中的.NET程序集中调用Register()方法 . 这种注册方法是一个带有隐藏存储机制的“黑匣子”,因此我无法以声明方式执行此操作 . 我认为这种声明方法最适合COM注册,但使用heat.exe时遇到两个问题: RegAsm有效,但是Heat.exe在我的程序集...
  • 1 votes
     answers
     views

    使用Wix的.NET COM Interop部署失败

    我在CodeProject(http://www.codeproject.com/KB/cs/Issuewithbandobjects.aspx)处理样本并且一切正常,我正在使用gacutil和regasm来测试工具栏,这是有效的 . 然后我转向使用Wix来测试实际部署并构造msi文件,这意味着切换到Heat . 最初,我为各种dll创建了片段,这种方法很好,手动将 <... assembl...
  • 8 votes
     answers
     views

    无法使用WiX注册DLL

    我正在尝试使用WiX注册DLL . 现在我知道并理解我应该使用 heat 并让它为我提取注册表信息,但是热似乎失败了,并显示以下错误消息: heat.exe : warning HEAT5150 : Could not harvest data from a file that was expected to be a SelfReg DLL: C:\Users\seb\Desktop\Devel...
  • 1 votes
     answers
     views

    将.dll注册到COM时出错

    我有一个COM库,我想在Wix安装期间在COM中注册 . 起初,我尝试使用 heat 命令收集信息,但没有从该.dll中获取任何信息 . 然后我认为我的库是错的,并尝试使用 regsvr32 命令手动安装它,如下所示: regsvr32.exe /s "RouteToMyLibrary/MyLibrary.dll" 它确实安装正确... 然后我决定使用 CustomActio...
  • 2 votes
     answers
     views

    哪里可以找到COM DLL?

    我w一个com对象的dll我注册了哪里可以在我的机器中找到这个dll(当我们将dll注册到nachine复制dll的地方时) 还有更多的问题,如果我尝试在powerShell中使用这个com对象,如果我尝试在javaScript中使用它,那么一切顺利,我得到异常任何想法???为什么??
  • 124 votes
     answers
     views

    .Net采摘错误引用的汇编版本

    我刚刚将一个现有的项目复制到一台全新的机器上,开始对它进行开发,并且遇到了我引用的程序集之一的版本问题(发生了一个telerik DLL) . 该项目最初引用了旧版本的程序集(我们称之为v1.0.0.0) . 我的新机器安装了最新版本的程序集,所以我想我已经更新了它(让我们调用新版本的v2.0.0.0) . 现在问题是:如果我将旧的v1.0.0.0 dll复制到项目文件夹并将其添加为参考,则网站启...
  • 1 votes
     answers
     views

    在C中为VB6编写.dll

    我正在尝试将基于VB6的.ocx迁移到C中 . 我正在解决的迁移路径如下: 将当前的.ocx迁移到常规的COM .dll中(它不确定't really have any user interface components, and I'我不知道为什么它仍然是.ocx) . 编写COM .dll的C版本,并将其用作我的替代品 . 我的问题是: 一个 . 这看起来是正确的方法吗? 湾如何在...
  • 0 votes
     answers
     views

    vb6 dll可以使用gac中的.net com可见dll

    我有一个.Net COM可见dll和一个VB6 DLL . 我在GAC上注册了.Net dll并注册了VB6 dll . 我的问题是VB6 dll可以引用GAC中的.Net dll . 如果是,怎么办呢?通常我会在.Net dll上使用 regasm ,一切都会好的,但现在.Net dll在GAC中,所以我不认为这种方法是可行的 .
  • 2 votes
     answers
     views

    在C#应用程序中导入并调用COM dll

    请帮助在C#应用程序中使用ATL COM DLL方法 在ATLLib.idl中 ... interface IATLLibMain : IUnknown{ [helpstring("method hello")] HRESULT hello([out,retval] BSTR* res); }; ... 在ATLLibMain.cpp(ATL SimpleObjec...
  • -1 votes
     answers
     views

    如何查找所有应用程序的COM dll

    我正在尝试为迁移应用程序编写一些代码,它可以将所有应用程序从旧PC迁移到新PC . 我的工作是为所有应用程序找到并恢复COM . 现在,我的问题是: 1.给一个应用程序,如何找到所有相关的COM DLL? 2.如何找到所有应用程序的COM dll? 我是COM的新手,请尽可能详细地回答:) 任何想法将不胜感激!提前致谢!
  • 469 votes
     answers
     views

    HTTPS标头是否已加密?

    通过HTTPS发送数据时,我知道内容已加密,但我听到有关标头是否已加密或标头加密程度的混合答案 . 有多少HTTPS标头已加密? 包括GET / POST请求URL,Cookie等 .
  • 2 votes
     answers
     views

    使用引用枚举的COM DLL方法

    我使用x86编译器和.net目标框架4.5.2在VS2015中创建了一个VB.NET应用程序 我使用tlbimp创建了一个用VB6编写的COM dll RCW,名为“NETLib.dll”,并添加了这个interop作为我项目的参考 . 此COM dll包含以下方法: Function DoSomething(sData As String, iData As Integer, eData As ...

热门问题