小编bak*_*kar的帖子

如何在C++中创建dll以便在C#中使用

我有一个问题要问你.

我有一个C++源代码和一个头文件.C++文件使用windows.h库,使用串口进行操作(基本操作:read(),write()等).

我想要做的是,使用这些文件创建一个库,并在我的C#.Net解决方案中使用该库.

我需要创建什么类型的库?我该怎么做?创建库后,如何将其导入C#解决方案?

我最诚挚的问候.

我正在使用的代码部件:

// MathFuncsDll.h

namespace MathFuncs
{
    class MyMathFuncs
    {
    public:
        // Returns a + b
        static __declspec(dllexport) double Add(double a, double b);

        // Returns a - b
        static __declspec(dllexport) double Subtract(double a, double b);

        // Returns a * b
        static __declspec(dllexport) double Multiply(double a, double b);

        // Returns a / b
        // Throws DivideByZeroException if b is 0
        static __declspec(dllexport) double Divide(double a, double b);
    };
}

// MathFuncsDll.cpp
// compile …
Run Code Online (Sandbox Code Playgroud)

c# c++ dll serial-port

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

如何刷新PictureBox

我有点问题.

假设我在pictureBox上写了一个椭圆,然后点击一个按钮.我想要pictureBox刷新自己.

我试过了PictureBox.Invalidate(),但不能成功.我最诚挚的问候...

c# picturebox winforms

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

如何使PictureBox可滚动

我有2个按钮,1个PictureBox和1个面板.PanelBox和Panel的AutoScroll属性内的PictureBox设置为"true".PictureBox Dock属性也设置为"Fill".

  1. Button将一个Rectangle绘制到pictureBox,2中.一个使它更大,其大小比pictureBox本身大.所以,我需要pictureBox可滚动.

我该怎么做?这个帖子的任何例子?

我最诚挚的问候...

重要提示:请不要使用现有文件提供建议!我没有使用它们.

c# scroll winforms

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

xutility.h 错误 C2064:术语未计算为采用 2 个参数的函数

我有问题要问。

我创建了一个名为 AstarPlanlama 的类并具有以下两个功能:

bool AstarPlanlama::nodeComp(const Node* lhs, const Node* rhs) 
{
   return lhs->F < rhs->F;
}

void AstarPlanlama::enKucukFliNodeBul(std::list<Node*> * OPEN)
{
    std::list<Node*>::iterator it = std::min_element(OPEN->begin(), OPEN->end(), &AstarPlanlama::nodeComp);

    OPEN->sort(&AstarPlanlama::nodeComp);   

    Q = OPEN->front();      

    OPEN->pop_front();      
}
Run Code Online (Sandbox Code Playgroud)

当我编译我的代码时,错误发生在xutility.h文件中。

template<class _Pr, class _Ty1, class _Ty2> inline
    bool _Debug_lt_pred(_Pr _Pred,
        _Ty1& _Left, _Ty2& _Right,
        _Dbfile_t _File, _Dbline_t _Line)
    {   // test if _Pred(_Left, _Right) and _Pred is strict weak ordering
    if (!_Pred(_Left, _Right))
        return (false);
    else if (_Pred(_Right, _Left))
        _DEBUG_ERROR2("invalid operator<", _File, _Line); …
Run Code Online (Sandbox Code Playgroud)

c++ debugging templates

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

在 Tcp/Ip 上自动完成 CRC 检查?

我有问题要问。

我想知道,在使用 TcpClient 发送数据时,是否有任何自动工作的 CRC 检查算法?或者我必须实现我自己的算法并在数据没有正确到达远程主机时重新发送数据?

有任何想法吗?

我最诚挚的问候...

c# networking crc tcpclient

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

如何确定三角形是否包含特定点?

我有问你问你们......

现在假设我有一个虚拟网格,我在这些虚拟网格上有连接点,如下图所示

虚拟网格上的连接点

现在让我说我在这个虚拟网格上绘制了一个三角形,如下图所示

带点的三角形

现在我想知道三角形是否包含任何虚拟网格的点...我怎样才能使用C#.Net实现这一点?

注意:我也知道三角形的点,问题是2D平面..

我最诚挚的问候...

c# graphics 2d linear-algebra

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

如何打开COMXX文件(串口)

我有串口问题.

我写了一个程序,可以读取端口COM1到COM9,但可以打开COMXX(如com10,com11等)

我搜索并了解到tCOM1-COM9是NT命名空间中保留名称的一部分.它说"要访问像COMXX这样的文件,你需要写"\.\ COMXX".

我试过这个,但没有成功.

有人有想法吗?我最诚挚的问候...

由于此问题,下面的代码返回无效的句柄值:

myPort = CreateFile("\\.\COM14",
              GENERIC_READ | GENERIC_WRITE,
              0,    /* exclusive access  */
              NULL, /* no security attrs */
              OPEN_EXISTING,
              0,
              NULL );
Run Code Online (Sandbox Code Playgroud)

c++ winapi serial-port

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

如何在C#中使用为VB.Net编写的DLL

我有问题要问.

我有一个用于在USB上读写数据的dll文件.要在VB.Net中使用dll,需要集成.vb文件,该文件与该dll文件的接口使用其功能,属性等.

我需要的是在C#项目中使用这个DLL.这可能吗?如果是的话,我该如何实现呢?

表格中的代码类:

Public Class frmUSB
    ' vendor and product IDs
    Private Const VendorID As Integer = &H1234    'Replace with your device's
    Private Const ProductID As Integer = &H1234      'product and vendor IDs

    ' read and write buffers
    Private Const BufferInSize As Integer = 1 'Size of the data buffer coming IN to the PC
    Private Const BufferOutSize As Integer = 1    'Size of the data buffer going OUT from the PC
    Dim BufferIn(BufferInSize) As Byte          'Received data will …
Run Code Online (Sandbox Code Playgroud)

c# vb.net dll

0
推荐指数
1
解决办法
7555
查看次数

如何获取列表中对象的最小值(C++)

我有一个问题要问.

所以,我有一个结构调用Node,如下所示:

struct Node
{
    int xKoor, yKoor;

    Node *parent;                                                                   
    char nodeId;                                                                    

    float G;
    float H;
    float F;

    Node(int x, int y, int id, Node * par)
    {
        xKoor = x;
        yKoor = y;
        nodeId = id;
        parent = 0;
    }

    Node(int x, int y, char id)                                                     
    {
        xKoor = x;
        yKoor = y;
        nodeId = id;
    }
};
Run Code Online (Sandbox Code Playgroud)

我有包含此结构元素的列表:

list<Node*> OPEN;
Run Code Online (Sandbox Code Playgroud)

此列表的大小随时间而变化.

我需要做的是找到具有最小F值的Node对象,然后从列表中弹出该对象.

所以,我试着写一个函数,如下所示:

void enKucukFliNodeBul(list<Node*> OPEN)
{

    list<Node*>::iterator it = OPEN.begin();

    for(it = OPEN.begin(); …
Run Code Online (Sandbox Code Playgroud)

c++ search stl

0
推荐指数
1
解决办法
971
查看次数

在运行时更改 TextBox BackColor

我有 4 个文本框和 1 个按钮。当按下按钮时,它会 ping 4 个 ip 地址,然后根据 ping 状态更改文本框的颜色。

我想要做的是,当按下按钮时,所有文本框的背景色都会在 ping 开始之前变为白色。

我写了下面的代码,但是没有用。

我的代码:

public void Clear1()
        {
            txtHKB1.BackColor = Color.Yellow;
            txtHKB2.BackColor = Color.Yellow;
            txtHKB3.BackColor = Color.Yellow;
            txtHKB4.BackColor = Color.Yellow;
        }

        public void Clear2()
        {
            txtHKB1.Text = "";
            txtHKB2.Text = "";
            txtHKB3.Text = "";
            txtHKB4.Text = "";
        }

    private void btnConnect_Click(object sender, EventArgs e)
            {
                //b.Baglan("192.168.20.50","9050");
            }

            private void btnSistemIzle_Click(object sender, EventArgs e)
            {
                Thread th1 = new Thread(new ThreadStart(Clear1));
                Thread th2 = new Thread(new ThreadStart(Clear2));

                th1.Start(); …
Run Code Online (Sandbox Code Playgroud)

c# multithreading textbox winforms

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