Delphi应用程序如何调用导出函数(非COM)dotNET程序集并让函数返回字符串?COM不是我的特定应用程序的可能解决方案。我可以控制通话的两端。到目前为止我尝试过的-Delphi客户端typeTStrProc=procedure(varx:widestring);stdcall;functionTryIt:string;varHandle:THandle;Proc:TStrProc;InData:widestring;OutData:widestring;beginHandle:=LoadLibrary('DelphiToDotNet.dll');ifHandle=0thenex
在delphi中,我可以像这样声明一个类型的类typeTFooClass=classofTFoo;TFoo=classend;此声明的C#等效项是什么? 最佳答案 您在C#中可以获得的最接近的是Type类型,它包含有关类型的元数据。publicclassA{}publicstaticintMain(string[]args){Typeb=typeof(A);}这不是完全相同的。在Delphi中,“其他类型的类型”本身就是可以分配给变量的类型。在C#中,“其他类型的类型”是一个System.Type实例,可以分配给System.Typ
以下Delphi程序根据nil引用调用方法并运行良好。programProject1;{$APPTYPECONSOLE}typeTX=classfunctionStr:string;end;functionTX.Str:string;beginifSelf=nilthenbeginResult:='nil'endelsebeginResult:='notnil'end;end;beginWriteln(TX(nil).Str);Readln;end.但是,在结构相似的C#程序中,将引发System.NullReferenceException,这似乎是正确的做法。namespaceCo
虽然我一直在尝试使用C#在MicrosoftVisualStudio项目中为Excel2007设置Excel页面的页面缩放代码是这样的privatevoidSheet1_Startup(objectsender,System.EventArgse){PageSetup.FitToPagesWide=1;PageSetup.FitToPagesTall=1;PageSetup.Orientation=Microsoft.Office.Interop.Excel.XlPageOrientation.xlLandscape;PageSetup.PaperSize=Microsoft.Offi
我已经有一段时间是Delphiholic了,最近我也在考虑学习一些C#,但是我有点“害怕未知”,我已经做了一些简单的应用程序作为测试驱动C#,我不得不承认我喜欢它,但是我不太喜欢这个IDE...这里所说的问题,如果其他走这条路的人会回答,我将不胜感激:作为一名Delphi开发人员,Delphi语言的“主要基本”变化是什么(基本是指基本——实用函数、流等),我习惯于将“系统、类、窗口”添加到不使用“使用System.XXX.YYY.ZZZ”,我试图在我的脑海中实现从Delphi到C#的部分平等,直到我看到Delphi与C#携手并进的地方等等......我希望问题很清楚,如果没有,请毫不犹
我的公司有一个大问题。我们在Delphi.NET中开发了一个包含超过1.000.000行代码的应用程序。因此,我们只能使用Delphi2007和.NET2.0。随着技术和用例的发展,我们需要迁移到另一个开发平台。到目前为止,我们尝试了几种promise将Delphi.NET转换为C#代码的工具-每个工具都有几个问题,例如错误的字符串索引(Delphi1C#0)或何时使用类型来声明数组边界。采用这种方法后,我们尝试反编译Delphi.NET程序集-从中返回的代码几乎不可读,并且有数百个调用Borland特定程序集的辅助函数。我已经考虑过自己编写一个转译器的可能性,但是Delphi的歧
环境:WindowsXP机器已安装Excel2007和Excel2003(按此顺序,而不是按时间顺序)。C#3.5问题:当我使用PIA执行一些Office自动化时,我使用以下代码行:varexcel=newApplicationClass();PIA的版本专门将其称为Excel12。C:\WINDOWS\assembly\GAC\Microsoft.Office.Interop.Excel\12.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll但:excel.Version;//thisis11.0insteadof1
我用单一方法编写了.Net3.5dll,供Delphi.exe调用。不幸的是,它不起作用。步骤:1.使用代码创建C#3.5dll:publicclassMyDllClass{publicstaticintMyDllMethod(inti){MessageBox.Show("Thenumberis"+i.ToString());}}转到AssemblyProperties-->AssemblyInformation并选中“MakeAssemblyCOM-Visible”使用RegAsm.exe注册我的dll这会抛出Delphi异常,表明它无法连接dll。从非托管代码启用C#托管dll的使
我正在开发一个网络应用程序,需要流式传输各种文件。我可以处理pdf、图像和旧版Office文档。但是,当我尝试处理2007文档时,它会中断。这是我的代码:Response.Buffer=true;Response.Clear();Response.ClearContent();Response.ClearHeaders();switch(FileExtension.ToLower()){case"pdf":Response.ContentType="application/pdf";break;case"doc":Response.ContentType="application/ms
我如何在Delphi中使用类似Math.Round和MidpointRounding.AwayFromZero的c#?等同于:doubled=2.125;Console.WriteLine(Math.Round(d,2,MidpointRounding.AwayFromZero));输出:2.13在德尔福? 最佳答案 我相信DelphiRTL的SimpleRoundTo函数本质上是这样做的,至少如果FPU舍入模式是“正确的”。请仔细阅读其文档和实现,然后确定它是否足以满足您的目的。但请注意,设置像这样的单个舍入操作的舍入模式是使用全