小编Nik*_*nde的帖子

如何在C#中的winforms应用程序中快速轻松地嵌入字体

这可能是noob领域,但是到底是什么:

我想在winforms应用程序中嵌入字体,这样我就不用担心它们会被安装在机器上.我在MSDN网站上搜索了一下,发现了一些关于使用本机Windows API调用的提示,例如由Scott Hanselman链接的Michael Caplans(sp?)教程.现在,我真的必须经历所有麻烦吗?我不能只使用我的应用程序的资源部分吗?

如果不是,我可能会去安装路线.在那种情况下,我可以通过编程方式进行吗?只需将字体文件复制到Windows\Fonts文件夹即可?

编辑:我知道许可问题,感谢关注.

c# fonts embedding

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

在C#中使事件异步的最佳方法

事件在C#中是同步的.我有这个应用程序,我的主窗体启动一个线程,其中有一个监听流的循环.当流上出现某些事件时,会从循环向主窗体触发事件.

如果主窗体很慢或显示消息框或某些内容,循环将被暂停.围绕这个最好的方法是什么?通过在主窗体上使用回调和调用?

c# events asynchronous

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

在Delphi中inc(i)和i:= i + 1之间是否存在性能差异?

我有很多程序

i := i +1;
Run Code Online (Sandbox Code Playgroud)

在它和我想

 inc(i);
Run Code Online (Sandbox Code Playgroud)

看起来好多了.是否有性能差异或函数调用是否只是由编译器内联?我知道这可能与我的应用程序无关,我只是好奇.

编辑:我做了一些性能测量,发现差异非常小,实际上小到5.1222741794670901427682121946224e-8!所以真的没关系.优化选项确实没有改变结果.感谢所有提示和建议!

delphi performance

14
推荐指数
3
解决办法
3034
查看次数

检查流程状态

我想以编程方式验证应用程序的状态,以查看它是否已崩溃或停止.我知道如何查看进程是否存在于C#中,但我是否也可以看到它是否"没有响应"?

.net c#

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

拔下网线时插座会发生什么变化?

我有三个应用程序使用套接字相互通信.他们都可以在自己的机器上生活,但他们也可以共享一台机器.现在我在他们自己的机器上有两个在同一个和第三个.我正在努力使我的通信防弹,所以我拔掉电缆并杀死应用程序,以确保一切按预期工作.

这是一个快速的草图:

替代文字

现在,当我拔下网线到PC2(红色连接"Con B")时,内部连接停止通话(蓝色连接"Con A").我从"应用程序1"发送的东西在套接字上永远不会到达"App 2".

我已经建立了一个发现这个并断开然后重新连接的机制,之后我可以拔掉所有我想要的电缆,"Con A"就会继续工作.这只是第一次.

我已确认在断开"Con B"之前通过"Con A"进行通信.
我以完全相同的方式连接和重新连接,它是相同的代码,所以没有区别.

发生了什么?

答案触发的附加信息:PC 1和PC 2共享地址直至最后一个字节.
我有一个内部保持活动机制,我发送一条消息,并期望每10秒响​​应一次.
当我杀死App 3时,只有在拔掉电缆时才会发生这种情况.

.net c# sockets

7
推荐指数
2
解决办法
3877
查看次数

Delphi 7异常未被捕获

我有一些非常复杂的遗留代码,我一直在研究收集大块数据时的崩溃.我一直无法找到崩溃的确切原因,我正在尝试不同的方法来解决它或至少恢复得很好.我做的最后一件事是将崩溃的代码包含在一个

try
  ...
except
  cleanup();
end;
Run Code Online (Sandbox Code Playgroud)

只是为了使它表现出来.但清理工作永远不会完成.在什么情况下不会发现异常?这可能是由于一些内存溢出或某些东西,因为应用程序正在收集相当多的数据.

哦,我添加之前的例外try是"访问冲突"(还有什么?),CPU窗口指向非常低的地址.任何想法或指针将不胜感激!

delphi exception

3
推荐指数
2
解决办法
3492
查看次数

FindFirst()报告的奇怪属性值,Attr = 2080

当使用FindFirst()搜索文件时,我在TSearchRec.Attr字段2080中获得了一个属性值.它没有在帮助中指定,因为只有这些值可用,并且它们的组合没有产生2080:

1 faReadOnly
2 faHidden
4 faSysFile
8 faVolumeID
16 faDirectory
32 faArchive
64 faSymLink
71 faAnyFile

有谁知道2080意味着什么以及为什么我得到那个属性值?操作系统是嵌入式XP.

delphi delphi-2006 file-attributes

3
推荐指数
2
解决办法
1650
查看次数

通过Delphi中的writeln/readln实现的实数精度

我的客户端应用程序使用writeln和readln通过文本文件导出和导入相当类型的变量.我试图增加所写字段的宽度,使代码如下所示:

writeln(file, exportRealvalue:30); //using excess width of field
....
readln(file, importRealvalue);
Run Code Online (Sandbox Code Playgroud)

当我导出然后再次导入和导出并比较文件时,我得到了最后两位数的差异,例如(可能在这里的实际位数上有关,但你得到它):

-1.23456789012E-0002
-1.23456789034E-0002
Run Code Online (Sandbox Code Playgroud)

这实际上对应用程序产生了影响,因此客户想知道我能做些什么.现在我不确定它只是写/读这样做但是我想在我再次潜入嘿堆栈之前我会抛出一个快速的问题.我需要二进制吗?

这不是处理货币或其他东西的应用程序,我只是在文件中写入和读取值.我知道浮点有时候有点奇怪,我认为其中一个例程(writeln/readln)可能会有一些有趣的业务.

delphi floating-point precision text-files

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