小编Dar*_*usz的帖子

当属性更改时,DataGridView控件将滚动到顶部

在Windows窗体上,我有一个DataGridView控件,其中包含由数据源填充的记录(数据绑定).每条记录都呈现一个数据对象.

并非所有行都显示:例如,前10行.因此用户可以向下滚动以查看其他记录.没什么特别的.

但是当用户在滚动后点击一行时,行对象的数据属性正在改变,这会刷新DataGridViewand- 它"滚动"到datagrid的顶部(可能整个DataGridView都是刷新的).这是不可取的.

如何在记录更新期间保持当前滚动位置?

c# datagridview

8
推荐指数
1
解决办法
6199
查看次数

realloc调用会引入多少开销?

realloc在循环的每次迭代中使用,迭代次数for超过10000次.

这是一个好习惯吗?realloc如果被调用很多次会导致错误吗?

c c++ memory memory-management realloc

8
推荐指数
2
解决办法
5444
查看次数

从阵列同时读取是否是线程安全的?

我有一个数组,其中包含声明如下的整数值:

int data[] = new int[n];
Run Code Online (Sandbox Code Playgroud)

每个值都需要处理,我将工作分成几部分,以便它可以由不同的线程处理.处理期间不会修改数组.

所有处理线程可以同时读取数组的不同部分吗?或者我必须使用锁?

换句话说:这个工单是否是线程安全的?

Array is created and filled
Threads are created and started
Thread 0 reads data[0..3]
Thread 1 reads data[4..7]
Thread 2 reads data[8..n]
Run Code Online (Sandbox Code Playgroud)

java arrays multithreading

8
推荐指数
1
解决办法
6466
查看次数

Java中无法访问的语句编译错误

class For1
{
  public static void main(String args[])
  {
    int a = 0;
    for(;;)
    {
      break;
      System.out.println(a); //Line 1
      ++a;//Line 2
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道第1行/第2行永远不会执行.但我仍然不明白为什么抛出编译时错误.我收到"无法访问的语句"编译错误.

这是否意味着编译器检查它是否能够编译所有分支/代码行?

java unreachable-code

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

当request-element没有以'Request'结尾时,spring-ws生成的wsdl无效

我必须准备一个web服务来接受已定义的wsdl结构.我按照这里的教程,在这里可以下载测试项目的源代码.

对于像这样的xsd:

<xs:element name="getCountryRequest">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)

应用程序返回的请求的Wsdl操作正常,如下所示:

<wsdl:binding name="CountriesPortSoap11" type="tns:CountriesPort">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="getCountry">
        <soap:operation soapAction=""/>
        <wsdl:input name="getCountryRequest">
            <soap:body use="literal"/>
        </wsdl:input>
        <wsdl:output name="getCountryResponse">
            <soap:body use="literal"/>
        </wsdl:output>
    </wsdl:operation>
</wsdl:binding>
Run Code Online (Sandbox Code Playgroud)

但是当我将xsd更改为(元素名称中没有'Request')时:

<xs:element name="getCountry">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)

wsdl无效,并且没有<input>指定:

<wsdl:binding name="CountriesPortSoap11" type="tns:CountriesPort">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="getCountry">
        <soap:operation soapAction=""/>
        <wsdl:output name="getCountryResponse">
            <soap:body use="literal"/>
        </wsdl:output>
    </wsdl:operation>
</wsdl:binding>
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?如何Request在wsdl中将无元素作为soap操作输入正确显示?

java wsdl web-services spring-ws cxf

8
推荐指数
1
解决办法
6378
查看次数

lockCanvas是什么意思(精心设计)

我一直在Android中绘制图形.那里有很多示例应用程序,但我总能看到的一件事是lockCanvas.有人可以解释得更近,因为我真的没有得到它,也因为我认为理解未来的编程很重要吗?

一个例子:

try { 
    c = panel_thread.getHolder().lockCanvas(null);
    synchronized (panel_thread.getHolder()) {
        panel_thread.update();
        panel_thread.onDraw(c);
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我现在所拥有的.我该怎么解释这个?同步做什么?为什么将canvas-object分配到getHolder和lockCanvas很重要?

这部分也令人困惑:

panel_thread.getHolder().unlockCanvasAndPost(c);
Run Code Online (Sandbox Code Playgroud)

为什么这有必要?我真的需要一个更细致的解释.:)

android android-canvas

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

如何在连接到服务器的客户端之间发起直接连接

假设我有一个服务器并且客户端连接到服务器。服务器可以通过公共 IP 访问。

我想“转发”连接,以便客户端可以直接相互连接,而无需中间的服务器。

我不知道这是否可能,我自己也找不到办法做到这一点。

其他假设:

  • 两个客户端都没有公共 IP,两个客户端都在 NAT 后面
  • 如有必要,可以启动更多连接

我正在寻找一个严格的软件解决方案,而无需重新配置路由器、开放端口等。

我想实现这一点的原因是减少服务器上的负载。一旦两个客户端关联在一起,就没有真正的需要(技术客户端除外)继续使用服务器作为某种代理。直接客户端连接也会减少连接的延迟。

connection networking network-programming tcp

6
推荐指数
1
解决办法
1420
查看次数

在嵌入式项目中使用Valgrind

目前我正在开发一个嵌入式项目.我使用的是IAR Embedded Workbench IDE,目标平台是基于8051的微控制器.是否可以使用Valgrind工具来检查我写的代码?

embedded valgrind

6
推荐指数
1
解决办法
3003
查看次数

来自模板化对象的Java 8函数构造函数

我正在使用Eclipse Luna Service Release 2(4.4.2),Java 8 u51.

我正在尝试创建一个方法,该方法将基于另一个方法参数创建传递对象的实例.原型简化为

public <T> T test(Object param, T instance) {
    Constructor<?> constructor = instance.getClass().getConstructors()[0]; // I actually choose a proper constructor

    // eclipse reports "Unhandled exception type InvocationTargetException"
    Function<Object, Object> createFun = constructor::newInstance;

    T result = (T) createFun.apply(param);
    return result;
}
Run Code Online (Sandbox Code Playgroud)

在线Function声明eclipse报告Unhandled exception type InvocationTargetException编译器错误.我需要Function稍后在流中使用.

我试图添加各种try/catch块,抛出声明,但没有修复此编译器错误.

如何使这段代码工作?

java eclipse generics functional-programming java-8

6
推荐指数
1
解决办法
317
查看次数

如何停止正在运行的pthread线程?

如何立即退出或停止线程?

当用户输入答案时,如何立即停止?我想让它重置每一个问题.

这是涉及线程的代码

int q1() {
    int timer_start;
    char ans[] = "lol";
    char user_ans[50];
    timer_start = pthread_create( &xtimer,NULL,(void*)timer_func,(void*)NULL);
    printf("What is the capital city of Peru?\n");

    while(limit){
        scanf("%s",user_ans);
        if(limit)
        {
             if(!strcmp(user_ans, ans))
              {

               // printf("YAY!\n");
                score++;
               // q2();

            }
            else
            {
                game_over();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c multithreading pthreads

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