贡献所有的分,大家来帮忙,小弟实习的问题,谢谢各位,尤其感谢gomoku

windiewang 2008-06-26 11:56:48
小弟我在一公司实习,这是我最近要做的项目。

VS2005下用C#做界面,调一博士做的识别模块dll(C++)

C# 2005 express下开发,在各位帮助下有些问题已解决,仍有下面的问题

1. 在gomoku的帮助下,做了个中介C++Dll去调博士的模块Dll,然后再在我的C# form中DllImport中介C++Dll的函数

我需要在C#中得到一个TxObject的信息(TxObject在.h中定义),所以我把中介C++Dll的函数返回类型设为TxObject

可是在C#中DLLImport的时候不认这个返回值类型,如何办?

如果设置成void,我怎么得到TxObject的信息呢?

2. 如何固定两个窗体的位置? 我上次做的WindowsMediaPlayer窗体上有一个透明窗体,我需要在透明窗体上绘图,

现在情况是我想要WindowsMediaPlayer窗体和透明窗体一起动,比如我拖动WindowsMediaPlayer窗体,那透明窗体

也跟着动,始终保持两个窗体的相对位置不变?

这个如何实现? 谢谢!

3. 另外关于中介C++中.h的问题

我在这个.h中include了博士模块的所有头文件,在我的.h中将所有的变量指针都声明好,然后cpp中就直接include我的.h

就可以。那我这些变量指针声明怎么写?是放在一个struct中还是一个class中。在cpp中如何使用呢?


问题有点多,可能说得不太清楚,请见谅。

小弟新人实习,比较菜,希望得到大家的帮助,这次把所有的分都贡献出来。

谢谢各位,尤其感谢gomoku!!

...全文
224 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
仗剑逗二哈 2008-06-27
  • 打赏
  • 举报
回复
帮顶~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
windiewang 2008-06-27
  • 打赏
  • 举报
回复
原谅我一次吧!!!
windiewang 2008-06-27
  • 打赏
  • 举报
回复
对不起,不是我要倒分,主要是无满意答案!

对不起!!
yatobiaf 2008-06-27
  • 打赏
  • 举报
回复
楼主是个及其不厚道倒分的家伙,参见
http://topic.csdn.net/u/20080624/11/b46fee8a-9b03-48e4-a455-0f6aadd43443.html
bs你。
minioreo 2008-06-27
  • 打赏
  • 举报
回复
mark
windiewang 2008-06-26
  • 打赏
  • 举报
回复
自己顶上去。。。。。。。。
aspnet30 2008-06-26
  • 打赏
  • 举报
回复
帮顶!!
DongloveRen 2008-06-26
  • 打赏
  • 举报
回复
帮顶!
halk 2008-06-26
  • 打赏
  • 举报
回复
楼上的,long对应的确实是int。在IA32体系中,longlong才是Int64。
yatobiaf 2008-06-26
  • 打赏
  • 举报
回复
1,long 对应的是int?long对应的是long或者是int64吧。
2,窗体A的事件里面,添加一个LocationChanged事件。
然后我写个大概的意思吧

B.Location.X = this.Location.X+this.Width;
B.Location.Y = this.Locaiton.Y;
windiewang1984 2008-06-26
  • 打赏
  • 举报
回复
窗体的LocationChanged函数如何写

能使改变要跟随窗体的位置?

就是让一个窗体跟着另外一个窗体!
windiewang1984 2008-06-26
  • 打赏
  • 举报
回复
typedef struct TxObject
{
long status;
TxRegion BaseRgn; //基准区域
long RecogID; //识别状态标志,0是未识别
POINT Contrail[MAXPOINTS]; //对象的运动轨迹(轨迹长度同生命长度)
} TxObject;

typedef struct tagPOINT
{
LONG x;
LONG y;
} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;

typedef struct TxRegion
{
long cx; ///< the x-coordinate of the upper-left corner
} TxRegion;



C++中结构是这样的。下面是我重写的C#。


[StructLayout(LayoutKind.Sequential)]
struct TxObject
{
public int status;
public TxRegion BaseRgn; //基准区域
public int RecogID; //识别状态标志,0是未识别
[MarshalAs( UnmanagedType.ByValArray, SizeConst=2000 )]
public POINT[] Contrail;
}
[StructLayout(LayoutKind.Sequential)]
struct TxRegion
{
public int cx; ///< the x-coordinate of the upper-left corner
}

[StructLayout(LayoutKind.Sequential)]
struct POINT
{
public int x;
public int y;
}


编译没问题,运行的时候会报”方法的类型签名与 PInvoke 不兼容“ 的错误。

windiewang1984 2008-06-26
  • 打赏
  • 举报
回复
帮顶上去!!!!!!!!
yatobiaf 2008-06-26
  • 打赏
  • 举报
回复
1,你必须在C#中也定义一个TxObject,内存布局要和c++中的一模一样。
参见例子http://topic.csdn.net/u/20080624/12/78e85273-149e-4b43-80cf-6dad3cdec54b.html中的
10,11,17,18楼。
2,在窗口的LocationChanged消息回调函数中改变要跟随窗体的位置。
3,不明白你说的变量指针是干嘛用的。
windiewang 2008-06-26
  • 打赏
  • 举报
回复
都没人会吗?? 郁闷!!!
windiewang 2008-06-26
  • 打赏
  • 举报
回复
??什么意思? 公司没人用C#的,我过来实习,用C#给做个界面!

[Quote=引用 6 楼 liubiaocai 的回复:]
实习就做你们有技术的啊

[/Quote]
lawbc 2008-06-26
  • 打赏
  • 举报
回复
实习就做你们有技术的啊
windiewang 2008-06-26
  • 打赏
  • 举报
回复
我把C++的struct在C#中重写了一下

然后再C#的调dll函数时,出这个问题

”方法的类型签名与 PInvoke 不兼容“

是不是struct写的不正确?
windiewang 2008-06-26
  • 打赏
  • 举报
回复
我的意思是 exe运行的时候 一起移动



[Quote=引用 3 楼 BIGBIRDINWOODS 的回复:]
midia窗口移动好之后,透明的位置坐标也设置为一样嘛
[/Quote]
BIGBIRDINWOODS 2008-06-26
  • 打赏
  • 举报
回复
midia窗口移动好之后,透明的位置坐标也设置为一样嘛
加载更多回复(1)
内容概要:本文介绍了基于条件生成对抗网络(Conditional Generative Adversarial Networks, CGAN)的可再生能源日前场景生成方法的复现研究,旨在通过Python代码实现对风电、光伏等可再生能源出力的不确定性进行高效建模与多场景生成。该方法利用历史数据作为条件输入,训练生成器与判别器网络,从而生成符合实际统计特性的高精度出力场景集,有效支撑电力系统调度、规划与风险评估等应用。文中详细阐述了CGAN的网络结构设计、损失函数构建、训练流程优化及生成场景的质量评价指标,并提供了完整的代码实现与案例析,验证了其在捕捉时空相关性与概率布方面的优越性。; 适合人群:具备一定深度学习与电力系统基础知识,从事新能源预测、电力系统优化调度、场景生成等相关方向的科研人员及研究生。; 使用场景及目标:①用于可再生能源出力不确定性建模,生成满足日前调度需求的典型场景集;②支撑含高比例新能源的电力系统随机优化、鲁棒调度与风险评估研究;③为学术研究提供可复现的CGAN应用场景与代码参考。; 阅读建议:建议读者结合提供的Python代码逐模块学习,重点关注数据预处理、模型搭建与训练细节,通过调整超参数和输入数据进行实验对比,深入理解CGAN在电力系统场景生成中的实际应用价值。
内容概要:本文系统介绍了基于去噪概率扩散模型(DDPM)的光伏功率场景生成方法,并提供了完整的Python代码实现。该模型通过模拟扩散与去噪过程,从历史光伏出力数据中学习其复杂的时序特征与概率布,进而生成高保真、多样化的光伏功率场景,能够有效刻画新能源出力的不确定性、波动性与时序相关性。文中强调该资源属于科研复现类内容,聚焦于模型原理剖析与代码实践,适用于推动新型电力系统中新能源建模与风险评估的研究进展。; 适合人群:具备一定Python编程能力与机器学习基础知识,从事新能源发电预测、电力系统规划、能源系统建模、不确定性析等方向研究的研究生、科研人员及工程师;熟悉深度学习框架(如PyTorch)者更佳。; 使用场景及目标:①用于生成高质量的光伏功率时序场景,支撑含高比例可再生能源的电力系统随机优化调度、鲁棒规划与风险评估;②作为科研复现案例,深入理解DDPM在能源时间序列生成任务中的建模机制与训练策略;③可拓展应用于风电、负荷等其他不确定性能源变量的场景生成问题,具备良好的迁移性与研究价值。; 阅读建议:建议读者结合提供的代码与网盘资料,按照目录结构循序渐进地学习,重点掌握模型网络架构设计、前向扩散与反向去噪过程、损失函数构建及采样生成逻辑,鼓励在真实数据集上进行调试、训练与结果可视化,以深化对扩散模型内在机理的理解与应用能力。
内容概要:本文系统研究了基于多面体聚合与闵可夫斯基和的电动汽车可调能力评估方法,提出了一种结合内近似模型与外近似技术的聚合可行域建模策略,用于精确刻画大规模电动汽车集群的功率调节潜力。通过引入多面体几何表示与闵可夫斯基和运算,实现了对异构电动汽车充放电行为的高效聚合,并采用SOCP(二阶锥规划)等先进数学优化手段完成对聚合可行域的紧凑逼近与计算求解,进而评估其在配电网中的灵活性贡献。该方法为高比例新能源接入背景下电动汽车作为灵活性资源参与电网调峰、调频等辅助服务提供了理论支撑与量化工具,配套提供的Matlab代码实现了从建模到优化的全流程仿真,便于研究成果的复现与拓展。; 适合人群:具备电力系统析、凸优化理论基础及Matlab编程能力,从事新能源并网、电动汽车与电网互动、灵活性资源调度等相关方向研究的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①评估大规模电动汽车集群接入对配电网灵活性的影响及其可调度容量;②研究电动汽车聚合商参与电力系统辅助服务市场的可行性与调控潜力;③为新型电力系统中多主体、多源协同的优化调度提供精细化建模方法与技术支持; 阅读建议:建议读者深入理解多面体建模与闵可夫斯基和的基本原理,结合所提供的Matlab代码重点掌握SOCP模型的构建技巧与YALMIP等优化工具箱的使用方法,通过调整参数与场景设置进行对比析,以深化对电动汽车聚合特性与优化求解过程的认识。

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧