2 ixiaopihaier ixiaopihaier 于 2016.04.18 12:36 提问

怎样C#调用swmm的dll

自己做了一个ARCGIS二次开发界面,结合swmm软件进行管网分析,现在已经实现shp转
inp,但是不会读取swmm分析后的输出文件即out 文件,它是二进制文件,不会读取,现在
需要读取out文件,并添加到自己设计的界面中的属性表中,在设计的界面中显示地图,并能查询积水情况,谢谢大家!

1个回答

CSDNXIAOC
CSDNXIAOC   2016.04.18 12:42

     每种编程语言调用DLL的方法都不尽相同,在此只对用C#调用DLL的方法进行介绍。首先,您需要了解什么是托管,什么是非托管。一般可以认为:非托管代码主要是基于win 32平台开发的DLL,activeX的组件,托管代码是基于.net平台开发的。如果您想深入了解托管与非托管的关系与区别,及它们的运行机制,请您自行查找资料,本文件在此不......
答案就在这里:c#调用DLL
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SWMM二次开发
swmm5.dll的生成,以及C#程序调用swmm5.dll,可以进行模拟计算以及读取Output文件中的结果
SWMM引擎之一——如何Use Swmm5.dll! 以及编译SWMM5 Engine
1.在Debug下编译Swmm5.EXE,不用改代码;2.在Debug下编译Swmm5.Dll,首先要在Swmm5.c中取消#define DLL这一行的注释 然后在Setting/Link下改Output File Name 以及在下面的LINK选项中把/subsystem:console改成:/Dll这样编译的Dll可以在VC中调用了;3.在VB调用还需要加上DEF文件EXPO
SWMM引擎之二——在读SWMM模拟结果时应注意的问题
函数GetSwmmResult(0, iIndex, varindex, lPeriod, sValue)参数2:这里和SWMMINP文件有关,在写入Subcatch(Node/Link)的顺序直接关系这里的index解决的方法有两种:1/直接对Subcatch(Node/Link)的SID(MID)从0开始编号;2/也可以在做INP文件的时候,在Select语句中先进行排序如(O
EPASWMM界面部分编译
虽然一直在做swmm相关的研究,却也一直没有对EPA-SWMM进行编译,其中一个主要原因就是这个软件的界面部分是用delphi编写的,然而对于没有学习过delphi的我一开始是比较抵触,然而最近我想弄清楚EPA是怎样生产inp文件的或者说是怎么组织内存的。逼不得已自己还是硬着头皮编译下。首先我们得下载界面部分的源码(http://www2.epa.gov/water-research/storm-
C#调用EPABET的代码
介绍了C#怎样调用EPANET来进行管网平差,很方便的东西
swmmh50022_engine
swmm源码的集成分为两种方式,第一种方式为源码直接集成,第二种方法为编译dll集成。如果选用的开发语言为C/C++则可以选用第一种方式直接将源码集成到项目代码中,这样不仅调试方便,而且效率更高,省去了dll的编译与调用解析过程。但是由于在GIS二次开发中C#语言的认知和使用更为方便,因此为将两种技术相集成采用第二种开发方式即调用swmmEngine源码编译而成的dll。而dll的编译也分为两种不同方式,一种是采用swmm规定的中间文件(.inp、.out、.rpt)调用dll,这样不需要花费时间理解swmmEngine的流程和代码。另一种是解析其核心代码,仅使用核心计算模型,编写对外调用函数API,将GIS提取的数据直接注入到dll中计算并返回结果。
swmm模型软件
(Environmental Protection Agency,环境保护署) SWMM(storm water management model,暴雨洪水管理模型)是一个动态的降水-径流模拟模型,主要用于模拟城市某一单一降水事件或长期的水量和水质模拟。其径流模块部分综合处理各子流域所发生的降水,径流和污染负荷。其汇流模块部分则通过管网、渠道、蓄水和处理设施、水泵、调节闸等进行水量传输。该模型可以跟踪模拟不同时间步长任意时刻每个子流域所产生径流的水质和水量,以及每个管道和河道中水的流量、水深及水质等情况。 SWMM模型的核心水力模块主要包括径流模块(runoff block)、输送模块(transport block)、扩展传送模块(extend transport block)、调蓄/处理模块(storage/treatment block)和受纳水体模块 receiving water block等。 此外,SWMM还包括多个服务模块,主要有降雨模块(rain block),统计模块(statistics block)、绘图模块(graph block),联合模块(combine block)、运行模块(temp block)和执行模块(executive block)等。
SWMM 5.1 GUI源代码
Source code for the SWMM 5.1.010 GUI是与swmm相配套的,由epa负责开发维护
40、C#:如何调用外部dll的接口
.如果要用别人dll中的接口,以此来调用别人的服务(别人的服务必须是开启的,而且要能通过expo服务调用到),应该如何做? 1.首先将别人的dll引用到自己的项目中来(添加引用即可) 2.然后将别人的接口添加到项目的apidefine.xml中去,例如:ExpoBuildApiDefine.BuildApiDefineFile(new List(){  typeof(IConfigManage
C#调用C++封装成DLL的结构体及类
C#调用C++封装成DLL的结构体及类