小编Cyc*_*ode的帖子

发送 lparam 作为指向类的指针,并在 WndProc() 中使用它

我有这个抽象代码:我想在 CreateWindowEx() 中使用 lParam(最后一个参数)来保存指向在 main - SaveArr 开头声明的类的指针。然后,我想在函数 WndProc 中使用它。一开始我做了一个全局数组,然后我可以在任何地方使用它,但就 C++ 而言它不是那么“聪明”,所以我试图升级它。

class Samples
{
        int arr[ITERATIONS+1];
        int index;
        ...
}

INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine, int nCmdShow)
{
        Samples * SaveArr;
        ...
    hWnd = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW,
                          ClsName,
                          WindowCaption,
                          WS_OVERLAPPEDWINDOW,
                          INITIAL_WIN_LOCAT_X,
                          INITIAL_WIN_LOCAT_Y,
                          WIN_WIDTH,
                          WIN_HIGHT,
                          NULL,
                          NULL,
                          hInstance,
                          NULL);    //here i want to pass SaveArr, so that i can use it in the WndProc(...) function

...
return 0;
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) …
Run Code Online (Sandbox Code Playgroud)

c++ winapi wndproc

5
推荐指数
1
解决办法
5785
查看次数

下拉菜单隐藏在javascript滑块后面

目前我的导航菜单的下拉部分隐藏在我正下方的javascript滑块后面.在这里看到问题.如何在滑块上显示下拉菜单?

以下是包含相应导航菜单和滑块的两个div的一些CSS.

导航菜单:

#nav {
width:1024px;
height:20px;
border-bottom:1px solid #ccc;
}
Run Code Online (Sandbox Code Playgroud)

滑块:

#slider {
width:1024px;
height:300px;
background: #353A33;
padding-bottom:5px;
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

html javascript css overlap drop-down-menu

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

将ip解析为hostname

我正在尝试从IP地址解析主机名.我尝试过使用gethostbyaddr(),getnameinfo()但在很多情况下,主机名根本没有解决.有没有更好的方法将IP地址转换为有效的主机名?

char* ip = argv[1];
// using gethostbyaddr()
hostent * phe = gethostbyaddr(ip, strlen(ip), AF_INET);
if(phe) {
  cout << phe->h_name << "\n";
}

// using getnameinfo()
char hostname[260];
char service[260];
sockaddr_in address;
memset(&address, 0, sizeof(address));
address.sin_family = AF_INET;
address.sin_addr.s_addr = inet_addr(ip);
int response = getnameinfo((sockaddr*)&address, 
                            sizeof(address), 
                            hostname, 
                            260, 
                            service, 
                            260, 
                            0);
if(response == 0) {
  cout << hostname << "\n";
}
Run Code Online (Sandbox Code Playgroud)

c c++ sockets

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

如何使用询问器设置答案的默认值?

我正在尝试创建一个小型构建脚本,如果在默认路径中找不到 mysql 标头,该脚本将询问用户 mysql 标头的位置。现在我用来inquirer提示用户输入,效果很好,但我遇到了以下问题:

'use strict'
const inquirer = require('inquirer')
const fs = require('fs')

const MYSQL_INCLUDE_DIR = '/usr/include/mysql'

let questions = [
  {
    type: 'input',
    name: 'MYSQL_INCLUDE_DIR',
    message: 'Enter path to mysql headers',
    default: MYSQL_INCLUDE_DIR,
    when: (answers) => {
      return !fs.existsSync(MYSQL_INCLUDE_DIR)
    },
    validate: (path) => {
      return fs.existsSync(path)
    }
  }
]

inquirer.prompt(questions)
  .then((answers) => {
    // Problem is that answers.MYSQL_INCLUDE_DIR might be undefined at this point.
  })
Run Code Online (Sandbox Code Playgroud)

如果找到 mysql 标头的默认路径,则不会显示问题,因此不会设置答案。如何设置问题的默认值而不实际向用户显示它?

解决上述问题也可以做到这一点,而不是使用全局变量:

let questions = [
  {
    type: …
Run Code Online (Sandbox Code Playgroud)

fs node.js node-modules inquirer

5
推荐指数
1
解决办法
3763
查看次数

检索缓存中的所有项目

我最近起步Enyim Memcached并且运行良好.使用该库,我能够存储和检索项目没有问题.

但是,我想知道是否有办法从缓存中检索所有项目.我知道您可以通过其键检索项目:

  MemcachedClient client = new MemcachedClient()
  object o = client.Get("key");
Run Code Online (Sandbox Code Playgroud)

但我似乎无法看到一个GetAll()或类似的方法,我错过了什么?

c# memcached caching enyim

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

Android/Ant的自动单元测试

我的代码中有一个Android项目和JUnit测试.

我想知道是否有一个ant任务来运行一些测试.

事实上,我有几个经典的测试,使用JUnit来测试几个方法,一些测试需要一个Android模拟器或至少需要在Android设备上运行.

由于我没有找到任何文档,我想知道是否可以做那种事情.

喜欢

junit-android dir ="."...

非常感谢您的帮助和时间.

只是要清楚,因为我在网上搜索并没有找到很多东西,所以希望你能提供帮助.

我有一个包含NO活动的Android项目.

实际的build.xml文件:

  1. 我编译java源代码
  2. 它生成一个.jar文件.
  3. 我需要使用之前生成的库运行我的project/tests /文件夹中定义的一些测试.需要使用ANT构建文件在仿真器设备上运行测试,而不依赖于Eclipse.

项目:

  • src(java源代码)
  • 箱子
  • 水库
  • 测试(Android测试项目)
  • AndroidManifest.xml中
  • build.xml文件
  • ...

生成的测试项目包含使用android update命令自动生成的build.xml .可悲的是,没有"运行测试"任务.我如何指定我想使用我的库进行这些测试?

ant testing junit android

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

格式两次之间的差异(hh:mm:ss)

我有两次,让我们说:

t1= '05:34:01' ;
t2= '20:44:44' ;
Run Code Online (Sandbox Code Playgroud)

我想要两种相同格式的两次评估差异.喜欢上面的结果必须来

t3= t2 - t1;  // 15:10:43 
Run Code Online (Sandbox Code Playgroud)

这样做的方法是什么?

javascript datetime node.js momentjs

4
推荐指数
2
解决办法
5713
查看次数

在每个 syslog C++ 之前调用 openlog

我创建了自己的 C 库,我的同事打算使用它。在这个包装器中,我打算使用syslog并根据输入参数,我希望在LOCAL0和之间切换LOCAL1

我发现的最简单的方法是openlog()使用LOCAL0or LOCAL1,取决于输入参数,然后使用syslog()and `closelog()。

我在同一个包装器 API 中拥有所有 3 个(类似于下面的内容):

void syslog_wrap_api(int flag, const char *msg)
{
setlogmask(LOG_UPTO (LOG_INFO));
if(flag == 0)
    openlog("myapplog",LOG_NDELAY,LOG_LOCAL0);
else
    openlog("myapplog",LOG_NDELAY,LOG_LOCAL1);
syslog(LOG_INFO,"%s",msg);
closelog()
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,这个 API 会不会在压力下导致问题(性能问题)?

c c++ syslog

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

架构名称与表名称 - 如何避免冲突?

我将使用Oracle数据库解决问题.

在Oracle数据库中有两种模式:XXX和YYY

模式XXX包含名为YYY的表(与第二个模式同名).

模式YYY包含一些序列(比如序列ZZZ)和日志表,我需要在模式XXX中使用触发器.

但是当我尝试使用这种结构在表XXX.some_table上编写触发器时:

SELECT YYY.ZZZ.NEXTVAL INTO AAA FROM DUAL
Run Code Online (Sandbox Code Playgroud)

Oracle将YYY视为XXX模式中的表,并显示错误消息" 必须声明组件ZZZ ".为XXX用户设置了适当的权限以访问YYY.ZZZ序列,但它没用.

怎么避免这个?不幸的是,数据库的结构已设置且无法更改.

database oracle schema namespaces

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

缓存服务方法的返回值

我正在使用 nestjs 并且刚刚安装了该cache-manager模块并正在尝试缓存来自服务调用的响应。

我在示例模块 (sample.module.ts) 中注册了缓存模块:

import { CacheInterceptor, CacheModule, Module } from '@nestjs/common';
import { SampleService } from './sample.service';
import { APP_INTERCEPTOR } from '@nestjs/core';
import * as redisStore from 'cache-manager-redis-store';


@Module({
  imports: [
    CacheModule.register({
      ttl: 10,
      store: redisStore,
      host: 'localhost',
      port: 6379,
    }),
 ],
 providers: [
   SampleService,
   {
     provide: APP_INTERCEPTOR,
     useClass: CacheInterceptor,
   }
 ],
 exports: [SampleService],
})
export class SampleModule {}
Run Code Online (Sandbox Code Playgroud)

然后在我的服务中(sample.service.ts):

@Injectable()
export class SampleService {
  @UseInterceptors(CacheInterceptor)
  @CacheKey('findAll')
  async findAll() {
    // Make external API …
Run Code Online (Sandbox Code Playgroud)

service caching node.js typescript nestjs

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