Tag: c ++

如何将带有unsigned char *的struct从C#传递给C ++?

我有一些带有struct描述的C ++ dll和一些方法: struct MSG_STRUCT { unsigned long dataSize; unsigned char* data; } 并且function例如: unsigned long ReadMsg( unsigned long msgId, MSG_STRUCT* readMsg) { readMsg->dataSize = someDataSize; readMsg->data = someData; } 所以我想从C#中调用这个函数: [StructLayout(LayoutKind.Sequential)] struct MSG_STRUCT { UInt32 dataSize; byte[] data; } [DllImport(“mydll.dll”)] public static Int32 ReadMsg( UInt32 msgId, ref MSG_STRUCT readMsg); 所以我试着调用C#函数: var readMsg = new […]

C# – C互操作性

链接文本的Q / A非常接近我正在寻找的内容,但我只是开始使用C#并需要更多填写,并可能提供一些关于最佳方法的提示。 我有一个我用Javascript写的PalmPre / webOS的应用程序,其中一部分用C语言编写,以实现可移植性,而不是性能。 它做Lear Jet性能计算。 在webOS世界中,C代码(插件)进入自己的进程,JS有一种方法可以调用和调用C代码(使用’main’)来启动进程,C可以注册入口点。 然后JS可以使用一些参数调用入口点,C代码进行计算,然后C返回指向JS的数字字符串的指针以供显示。 C代码没有图形,没有动态内存分配等。我想基本上将JS GUI代码转换为C#,并使用C代码对C#进行小调整(#if’s)来做与JS相同的事情Pre现在做了。 答案1 / option2我认为最好,但我不明白他的意思是“你的项目与消费者项目”以及如何/为什么这意味着一个是dllimport,一个是dllexport,我没有DLL ,我只有C代码例程。 看起来我要做的就是用我的C例程替换他的’PublicFunc’,对吧? 我可以有一些args,它说’params’? 但是没有指定返回类型,我将如何返回C#的答案? “返回型”是一个保留字吗? 或者一个例子占位符? 或者我离开赛道因为我没有DLL? 顺便说一句,C代码确实有一种编译模式,可以独立运行作为DOS程序进行测试。 是否有任何简单的示例代码说明如何执行此操作? 我现在正在下载MS VS 2010 Express,还没有安装它。 也许那里有什么东西? TIA!

C ++中的多播委托

我正在将一些C#代码转换为C ++。 我最初用C风格的回调取代了代表。 但是,在进一步检查代码时,我意识到这不会起作用,因为委托以多播方式使用,具有(伪C#代码)语句,如: DelegateTypeOne one = new DelegateTypeOne(someCallbackFunc1) one += new DelegateTypeOne(someCallbackFunc2) 我理解如果被移植的代码以单一的方式使用委托,那么使用常规的C样式函数指针可能有效。 在这方面,我有一个问题,以下C ++代码是否有效?: typedef std::vector (CallbackTypeOne*) (const std::string& s, const bool b); std::vector foo (const std::string& s, const bool b); CallbackTypeOne func_ptr = NULL; func_ptr = new CallbackTypeOne(foo); // Note: new being used on a typedef not a type // or should […]

在WebBrowser中调用脚本,并等待它完成运行(同步)

我正在使用webBrowser.Document.InvokeScript(“Function”)来运行javascript,它位于使用Winforms WebBrowser打开的本地文件中。 问题是,我需要javascript在继续之前完成执行。 我该如何等待/倾听? 这是我的C#代码: private void Button1_ItemClick_1(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { webBrowser.Document.InvokeScript(“Script_A”); Method_A(); DialogResult = System.Windows.Forms.DialogResult.OK; } Javascript代码: function Script_A() { Script_B(); } 如何在Script_B完成之前确保没有执行Method_A?

为什么`j = ++ i + ++ i;`的输出在C#和C中有所不同?

int i=1,j; j= ++i + ++i; printf(“%d”,j); 这个程序的输出是C. in C.但是当我对C#使用相同的逻辑时,输出为5 。 我想知道同一逻辑在两种不同语言中表现不同的原因

如何导航到另一个项目的视图

我为WinPhone应用程序开发了一个库。 该库包含多个屏幕。 如果我想导航到同一项目中的另一个视图,我可以使用这样的代码: NavigationService.Navigate(new Uri(“/NewTaskPage.xaml”, UriKind.Relative)); 如何从另一个(相对)项目(例如我的库)导航到查看? 谢谢

从sql报告服务器下载XML文件

我试图从Azure SQL报告服务器下载一个xml文件,该文件需要身份validation才能获取该文件。 我正在尝试以下两种方法: 方法1 在这种方法中,我在c#console应用程序下面尝试,它从服务器下载文件。 它工作正常! void DownloadFile(string uname, string password) { ServerReport report = new ServerReport(); report.ReportServerUrl = new System.Uri(“https://xxxxx.reporting.windows.net/ReportServer”, System.UriKind.Absolute); report.ReportPath = “/Demo2.rdl”; report.ReportServerCredentials.SetFormsCredentials(null, uname, password, “xxxxx.reporting.windows.net”); byte[] data = report.Render(“XML”); FileStream fs = new FileStream(@”c:\output.xml”, FileMode.Create); fs.Write(data, 0, data.Length); fs.Close(); } 方法2 现在我想从Windows Phone应用程序下载相同的文件。 现在,由于Windows Phone中没有ServerReport,我依靠WebClient来下载文件。 所以我尝试下面的代码,它似乎不起作用: void DownloadFile(string uname, string password) […]

检查Checkbox时如何调用javascript函数

当此复选框位于gridview中时,如何在选中复选框时调用Javascript函数? protected void AlteraStatusExpiraSeteDias_Click(object sender, EventArgs e) { for (int i = 0; i < grdImoveis2.Rows.Count; i++) { GridViewRow RowViewExpiraSeteDias = (GridViewRow)grdImoveis2.Rows[i]; CheckBox chk = (CheckBox)grdImoveis2.Rows[i].FindControl("chkExpiraSeteDias"); if (chk != null) { String codigo; if (chk.Checked) { codigo = (String)grdImoveis2.Rows[i].Cells[0].Text; ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Registra", "AlteraStatus(codigo);", false); } } } } , 没有复选框,当我放置一个图像并将链接href放到javascript时,它的工作原理!,但是带有复选框,不!

使用敏捷包解析html

我有一个要解析的HTML(见下文) InBox From Subject Date no-reply@somemail.net Hi, Welcome just now someone@outlook.com sa just now 我需要解析<tr onclick=标签中的链接和 标签中的电子邮件地址。 到目前为止,我想从我的html首次出现电子邮件/链接。 HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(responseFromServer); 有人能告诉我它是如何做得好的? 基本上我想要做的是从所述标签中的html获取所有电子邮件地址和链接。 foreach (HtmlNode link in doc.DocumentNode.SelectNodes(“//tr[@onclick]”)) { HtmlAttribute att = link.Attributes[“onclick”]; Console.WriteLine(att.Value); } 编辑:我需要将解析后的值成对存储在类(列表)中。 电子邮件(链接)和发件人电子邮件。 public class ClassMailBox { public string From { get; set; } public string LinkToMail { […]

流stream = WriteableBitmap.PixelBuffer.AsStream()缺失

我正在写windows store app(8.1),我有样本(可能是win 8.0): private WriteableBitmap WriteableBitmap; … WriteableBitmap = new WriteableBitmap(500,500); … using (Stream stream = WriteableBitmap.PixelBuffer.AsStream()) { … } 所以我创建了新的win 8.1项目并尝试以同样的方式完成,但是当我到达时: using (Stream stream = WriteableBitmap.PixelBuffer.AsStream()) 我的项目不认识*.AsStream()方法,谁能告诉我为什么?