小编he_*_*eat的帖子

关闭D垃圾收集器

我是一名C++程序员,考虑将D用于我想要玩的个人项目.我想知道是否有办法完全禁用垃圾收集器,以及这样做的风险是什么.

我知道我可以通过覆盖new和delete来管理我自己的内存以使用malloc和free,但如果我这样做,我宁愿垃圾收集器根本不运行.

memory garbage-collection memory-management d

24
推荐指数
2
解决办法
5722
查看次数

如何在Javascript中连接C#ActiveX事件处理程序

利用几个代码片段,我试图用Javascript事件处理程序挂钩ActiveX对象.我无法确定为什么没有调用事件处理程序.

Github存储库与项目.

更新

通过在'onLoad'事件中将javascript调用放到SayHello(),我能够触发ActiveX事件.现在我正在寻找C#调用,以及如何将它挂钩到Javascript使用的ActiveX对象中.

(这也可能依赖于从IE的高级选项中启用本地脚本).

消息继续

事件处理程序以与此问题所述相同的形式完成.

    <script for="MyObject" event="OnUpdateString(stuff)">
        document.write("<p>" + stuff);
        document.writeln("</p>");
    </script>
Run Code Online (Sandbox Code Playgroud)

利用MSDN文档,我创建了一个WinForms应用程序,其中包含一个WebBrowser控件,该控件充当ObjectForScripting(与问题无关).此容器调用ActiveX事件,但未被Javascript处理.我要在ActiveX交互中包含C#Form代码,并允许它作为ActiveX和/或WebBrowser控件的未来用户的参考.

此文件旨在与新的Windows窗体项目一起使用,其中WebBrowser控件已添加到主窗口.

C#Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Security.Permissions;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ActiveXObjectSpace;

namespace TestActiveX
{
    [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
    [System.Runtime.InteropServices.ComVisibleAttribute(true)]
    public partial class Form1 : Form
    {
        MyObject myObject = new MyObject();
        public Form1()
        {
            InitializeComponent();
            Text = "ActiveX Test";

            Load += new EventHandler(Form1_Load);
        }

        private …
Run Code Online (Sandbox Code Playgroud)

javascript c# activex webbrowser-control

10
推荐指数
1
解决办法
3741
查看次数

如何在D Programming Language + Tango中获取单键击中?

我读了这篇文章并试着用D编程语言练习,但在第一次练习中遇到了问题.

(1)在无限循环中显示数字序列(1,2,3,4,5 ......等).如果有人按特定键(Say ESCAPE键),程序应该退出.

当然,无限循环不是一个大问题,但其余的是.我怎么能在D/Tango中获得一个关键击中?在tango FAQ中它说使用C函数kbhit()或get(),但据我所知,这些不在C标准库中,并且不存在于我用于编程的Linux机器附带的glibc中.

我知道我可以使用像ncurses这样的第三方库,但它有同样的问题,就像kbhit()或get()一样,它不是C或D中的标准库,也没有预先安装在Windows上.我希望我能完成这个练习只使用D/Tango并且可以在Linux和Windows机器上运行它.

我怎么能这样做?

d input tango

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

我应该确保我的代码与DMD和GDC一起编译吗?

我想部分等价的问题:编译的代码是否应该与DMD一起编译,在GDC的所有情况下自动编译?

我问,因为我在从ubuntu 10.4(看似循环的依赖,叹息)转发中安装现代版本的GDC时遇到了问题.

d dmd gdc

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

命名数据库中的中间表

考虑两个表 transaction 和 Category,每个表都有自己的 ID 和信息。

一项交易可以有多个类别,我读过创建第三个表以使用其 ID 链接交易和类别是最好的。但假设你有很多这样的桌子,你会怎么称呼这张桌子呢?

transactionCategories 是我想到的最好的,还有更好的吗?

database naming-conventions

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

在64位Linux上使用DMD进行编译或使用32位目标文件进行链接

在64位机器上使用DMD编译程序的最佳方法是什么?它不需要编译为64位代码.我知道GDC,但也希望与D2合作.还有chroot,但我希望有一个更简单的方法.

实际问题不在于编译,而在于链接.DMD调用GCC来执行与系统库的链接.我可以让DMD与32位库进行GCC链接吗?或者我该如何手动完成?

我已经安装了ia32库,这就是我可以运行DMD的原因.

64-bit linker 32-bit d dmd

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