小编lei*_*ren的帖子

在我的自定义对话框中使用WixUIBannerBmp

在我的安装程序中,我已将WixUIBannerBmp设置为指向我自己的自定义dialog-banner.bmp.
现在我添加了一个自定义对话框,我想拥有与其他对话框相同的横幅.

有没有办法参考现有的WixUIBannerBmp?

解决方法是创建包含图像的二进制文件并引用它.但似乎不应该需要它.

/ L

wix

4
推荐指数
1
解决办法
2622
查看次数

在Windows7上,regsvr32不会写入HKCR\CLSID

我使用ATL向导在Visual Studio 2008中创建了一个新的简单COM对象.该对象具有单个类和简单方法.ATL向导.rgs为我的班级生成了-files.

当我regsvr32 Simple.dll在我的XP机器上运行时,该类已注册,信息显示HKCR\Simple.SimpleObjectHKCR\CLSID\{guid}我预期的内部和内部.

但是,在我的64位Windows 7机器上它并不相同.我以管理员身份运行regsvr32 HKCR\Simple.SimpleObject显示部件.但是这部分 HKCR\CLSID永远不会到达那里.因此我无法创建新实例.(绝望的我在System32和SysWOW64中都尝试了regsvr32,效果相同.)

为什么不regsrv32把数据放入 HKCR\CLSID

com regsvr32 windows-7

4
推荐指数
1
解决办法
7580
查看次数

Android服务未收到位置更新

尝试在我的服务中获取LocationUpdates,但它似乎从未触发过LocationListener。

我的服务启动了一个线程,然后该线程与Handler.postDelayed()循环-我最初使用sleep(30000),但是我认为这可能阻止了locationUpdates。所有服务所做的就是启动该线程-并且onStartCommand返回STICKY使其保持运行:

public class TST extends Thread {

    final int DefaultNetworkTick = 120000; // 2 minutes
    final int DefaultLocationTick = 20000; //600000;  
    boolean CustomLocationUpdateTick = false; // If the network requests faster updates
    int CustomLocationUpdateTickMs = 600000; // Default 10 minutes

    public boolean kill = false;
    public Context context;

    Handler handler  = new Handler();

    Date nextNetworkReadTick;

    @Override
    public void run() {        
        Log.i("TST", "Start run() iteration");
        // Set the ticks to the appropriate values
        // Network gets read every 2 minutes …
Run Code Online (Sandbox Code Playgroud)

service gps android location

4
推荐指数
1
解决办法
2577
查看次数

从baseclass创建子类的克隆副本

考虑这种情况:

public class Base
{
    public int i;
}

public class Sub : Base
{
    public void foo() { /* do stuff */}
}
Run Code Online (Sandbox Code Playgroud)

然后我想,给一个Base获得克隆实例的实例Sub(在这种情况下i = 17),这样我就可以foo在子类中调用.

Base b = new Base { i=17 };
Sub s = CloneAndUpcast(b);
s.foo();
Run Code Online (Sandbox Code Playgroud)

但是,我该如何创作CloneAndUpcast

我认为应该可以Base使用反射递归克隆所有 - 成员和属性.但相当一些工作.

谁有更好,更整洁的想法?

PS.我正在考虑使用它的场景是一组树状结构中的"简单"类(这里没有循环图或类似的),所有类都是简单的值持有者.计划是有一个包含所有值的愚蠢层,然后是一组类似的类(子类),它们实际上包含了值持有者不应该知道的一些业务逻辑.一般不好的做法是的.我认为它适用于这种情况.

c# reflection

4
推荐指数
3
解决办法
6649
查看次数

主要的荒谬值(int argc,char**argv)

我在旧的C++项目中启动了一个Console-application.
断点main(int argc, char** argv)开始program.exe -debug.
根据调试器argc变为32并且argv中的字符串具有奇怪的随机类值.
当执行继续发生访问冲突时,因为argv中的字符串指向无效值.

是什么导致这个?

windows msvcrt

3
推荐指数
1
解决办法
249
查看次数

从HRESULT创建COMException

如何在给定HRESULT的情况下创建COMException?

我有P/Invoke:ed一个win32方法,它返回一个HRESULT.
如果它返回失败,我希望抛出一个带有标准错误文本的COMException.
我该怎么办?

  1. throw new COMException(null, hResult)

  2. COMException e = new COMException;
    e.HResult = hResult;
    throw e;

或者我应该使用其他方法吗?

c# com

3
推荐指数
1
解决办法
1553
查看次数

如果没有,则在注册表中设置默认值

我正在维护一个旧的应用程序,其中用户配置存储在注册表中.卸载时会遗留下来.我现在正在WiX中重写安装程序.

如果没有安装程序,安装程序应在注册表中添加默认值,否则应保留现有值.

我在考虑如何在WiX中执行此操作.我提出的解决方案有点麻烦:

 <Property Id="MY_PROPERTY">
      <RegistrySearch Root="HKLM" Key="SOFTWARE\MyProduct" Name="MyProperty" Type="raw" />
  </Property>

  <CustomAction Id="ca.SetDefaultValue" Property="MY_PROPERTY" Value="DefaultValue" />

  <InstallExecuteSequence>
      <Custom After="RegistrySearch" Action="ca.SetDefaultValue">Not MY_PROPERTY</Custom>
  </InstallExecuteSequence>

  <Component Id="c.Registry">
      <RegistryValue Root="HKLM" Key="SOFTWARE\MyProduct" Name="MyProperty" Type="string" Value="[MY_PROPERTY]" />
  </Component>
Run Code Online (Sandbox Code Playgroud)

因此,进行注册表搜索以查找旧值.如果未设置,请使用计划的自定义操作设置为默认值.然后像往常一样创建值.

谁能想出更顺畅的方法呢?

请注意,我不能使用方便的变量,Installed因为值可能在那里,由之前的,现在卸载的版本留下.

wix

3
推荐指数
1
解决办法
2790
查看次数

对分组结果集执行计数(*)

我试图在存储过程中做一个很好的SQL语句.

我查看了查看两个日期之间发生事件的天数的问题.我的例子是销售订单:本月,我们有多少天销售订单?

假设这个设置:

CREATE TABLE  `sandbox`.`orders` (
  `year` int,
  `month` int,
  `day` int,
  `desc` varchar(255) 
) 

INSERT INTO orders (year, month, day, desc)  
VALUES (2009,1,1, 'New Years Resolution 1')
      ,(2009,1,1, 'Promise lose weight')
      ,(2009,1,2, 'Bagel')
      ,(2009,1,12, 'Coffee to go')
Run Code Online (Sandbox Code Playgroud)

对于这个数据中的结果应该是3,因为已经有三天的销售.我找到的最佳解决方案如下.

然而,制作一个临时表,计算然后丢失它似乎过多.它应该在一个声明中"成为可能".

任何得到"更好"解决方案的人呢?

/ L

SELECT [Year], [Month], [Day]
INTO #Some_Days
FROM Quarter
WHERE Start >= '2009-01-01' AND [End] < '2009-01-16'
GROUP BY [Year], [Month], [Day]

SELECT count(*) from #Some_Days
Run Code Online (Sandbox Code Playgroud)

sql t-sql

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

标签 统计

c# ×2

com ×2

wix ×2

android ×1

gps ×1

location ×1

msvcrt ×1

reflection ×1

regsvr32 ×1

service ×1

sql ×1

t-sql ×1

windows ×1

windows-7 ×1