西姆极客 http://simulgeek.com 离散仿真技术研究与应用 Thu, 11 Jul 2019 03:07:03 +0000 zh-CN hourly 1 Unity Embedded Window http://simulgeek.com/unityembeddedwindow/ http://simulgeek.com/unityembeddedwindow/#respond Thu, 11 Jul 2019 02:58:30 +0000 http://simulgeek.com/?p=802 这个项目基于Unity官方提供的EmbeddedWindow.zip ,利用Unity启动命令参数“-parentHWND delayed (Windows only)”实现Winform嵌入.

关于-parentHWND 的官方解释

Embed the Windows Standalone application into another application. When using this, you need to pass the parent application’s window handle (‘HWND’) to the Windows Standalone application.

When passing -parentHWND ‘HWND’ delayed, the Unity application is hidden while it is running. You must also call SetParent from the Microsoft Developer library for Unity in the application. Microsoft’s SetParent embeds the Unity window. When it creates Unity processes, the Unity window respects the position and size provided as part of the Microsoft’s STARTUPINFO structure.

To resize the Unity window, check its GWLP_USERDATA in Microsoft’s GetWindowLongPtr function. Its lowest bit is set to 1 when graphics have been initialized and it’s safe to resize. Its second lowest bit is set to 1 after the Unity splash screen has finished displaying.
For more information, see this example: EmbeddedWindow.zip

官方下载地址

https://docs.unity.com/uploads/Examples/EmbeddedWindow.zip

这些帖子给了我帮助

Calling Functions on Unity-Application embedded in Winforms-Application

Send message from one program to another in Unity

下载地址:

EmbeddedWindow

]]>
http://simulgeek.com/unityembeddedwindow/feed/ 0
在C++/CLR项目中使用MemoryMappedFile实现 http://simulgeek.com/using-memorymappedfile-from-a-cpp-clr-project/ http://simulgeek.com/using-memorymappedfile-from-a-cpp-clr-project/#respond Thu, 04 Jul 2019 07:09:25 +0000 http://simulgeek.com/?p=799 C#中 实现内存共享的类MemoryMappedFile所在的命名空间为:System.IO.MemoryMappedFiles,在C++中是无法直接引用到这个命名空间,原因是它位于System.Core 的库中,做法是引用程序集添加该库即可。

]]>
http://simulgeek.com/using-memorymappedfile-from-a-cpp-clr-project/feed/ 0
关于进程地址空间 http://simulgeek.com/about-program-address/ http://simulgeek.com/about-program-address/#respond Fri, 31 May 2019 03:46:17 +0000 http://simulgeek.com/?p=777 先看看微软官方的解释:

对于32位操作系统,对于大数据量的进程确实比较麻烦,需要研究是否有其他的方法。

]]>
http://simulgeek.com/about-program-address/feed/ 0
Gitlab常见问题 http://simulgeek.com/gitlab_common_problem/ http://simulgeek.com/gitlab_common_problem/#respond Sun, 31 Mar 2019 13:04:33 +0000 http://simulgeek.com/?p=762 运维相关

Q: 安装完成后无法启动

A: 需要执行初始化命令:gitlab-ctl reconfigure 等待完成即可,另外可以配置/etc/GitLab/GitLab.rb 参数,具体的参数列表可以查询官网的说明。

 

Q:如何备份版本库并转移到U盘

A: 先用gitLab-rake gitLab:backup:create 备份在默认文件路径
再用 cp -r/var/opt/GitLab/backups /你的目录 即可完成转移

 

Q: 备份文件恢复时提示 unpacking backup failed 解压错误

A: 这可能是因为从另外的操作系统中导入的tar包在当前的linux系统下没有权限造成的,解决方法是进入这个文件所在的目录,使用 chmod 644 xxxxxxx_gitlab_backup.tar 获得权限,再次执行还原即可。

Q: 恢复备份后,管理员进入Admin 区域部分功能无法设置,显示500错误

A: 这可能是因为你迁移数据备份,但没有迁移secrets store (/etc/gitlab/gitlab-secrets.json 或 $GITLAB_HOME/config/secrets.json),你可以在原服务器中找回这个文件,或者你可以使用以下命令恢复设置:
root@gitlab:/# gitlab-rails console
————————————————————————————- 
GitLab:       11.5.1 (c90ae59) 
GitLab Shell: 8.4.1 
postgresql:   9.6.8
————————————————————————————-
Both Deployment and its :status machine have defined a different default for “status”. Use only one or the other for defining defaults to avoid unexpected behaviors. Loading production environment (Rails 4.2.10)
irb(main):001:0> ApplicationSetting.current.reset_runners_registration_token!
=> true
root@gitlab:/#

进入irb(main):001:0> 后输入ApplicationSetting…完成重置后,使用reconfigure命令初始化后台即可解决。

 

 

 

 

]]>
http://simulgeek.com/gitlab_common_problem/feed/ 0
转载:C++开源界面库 http://simulgeek.com/re_cpp_opensource_gui_lib/ http://simulgeek.com/re_cpp_opensource_gui_lib/#respond Fri, 29 Mar 2019 07:19:45 +0000 http://simulgeek.com/?p=753 转载自 CSDN https://blog.csdn.net/fanyunda1988/article/details/73730224

刚开始用C++做界面的时候,根本不知道怎么用简陋的MFC控件做出比较美观的界面,后来就开始逐渐接触到BCG  Xtreme ToolkitPro v15.0.1,Skin++,等界面库,以及一些网友自己写的界面库,开始对于C++软件界面美化有了一点点的心得。不敢藏私,希望和一些新手朋友们分享交流。

一.  开源C++界面库

1.RingSdk

Ringsdk是CSDN上一个前辈自己写的界面库,这个界面库很轻而易举实现QQ2009的界面效果。链接见

http://blog.csdn.net/ringphone/article/details/2911244   貌似Ringsdk和MFC无法进行交互,但是 RingSdk其中有很多的图形处理的代码都非常有参考价值。

2.redui的官方网站http://www.redui.org 已经打不开了。官方QQ群是 40729296

CSDN地址是
http://blog.csdn.net/jameshooo/article/details/6677272

这是官方的说明

REDUI,又名REDirectUI,全称是Rendering Engine for DirectUI,是一款基于XML描述的 DirectUI 渲染引擎,能将“控件”的交互和渲染过程分解成多种独立的要素,包括布局、视觉效果、样式、UI自动化、滤镜、脚本、事件、3D场景、3D模型、通用动画等。通过这些要素的排列组合,可以呈现出各种不同效果的控件,甚至能在XML中直接自定义控件类型。支持2D/3D无缝融合。
· REDUI支持GDI/GDI+/DirectDraw/D3D等渲染方式,并有支持OPENGL/ES的愿望

3.Duilib 这个就比较大名鼎鼎了,不用多说了吧。包括华为网盘在内的很多业内企业都在用这个界面库。我用Duilib做了一个小型的界面。贴出来献丑一个。

4.WGI-1.0.7-Demo-Project-for-windows 。。额。。时间太长,忘记了这个代码是什么,姑且先忽略它。

5.cj60lib 这个玩过Gh0st3.6木马的人都熟悉,是一款对MFC进行拓展的界面库

6.金山界面库 这个就不赘述了,可以直接上金山的论坛找源代码和资料

7.skinTK_V0.20 一款类似于Skin++的开源界面库

8.FreeCL_Skin2.3 一款不错的控件库 扩展了常用的MFC控件 。  这个是FreeCL_Skin提供的一个效果实例。

9.GuiLib1.5 一个老外写的界面库 没有用过,没有调查,就没有发言权。大家自行百度。

10.基于3D的界面库 MangoGUI_V0.1.5

MangoGUI是猫仔在DXUT基础上修改得来的一个开源GUI系统。

目前来说基本上继承了DXUT里面绝大多数的功能和改进了使用方式,让DX学习爱好者更容易去使用GUI系统。

如果你也是一位对GUI有兴趣的同学,非常欢迎你一同来参与到MangoGUI的设计当中来!

作者博客

http://m9551.blog.sohu.com/

11.基于Skia的directui库metalbone

代码托管地址

http://code.google.com/p/metalbone/

官方说明

MetalBone是一个C++ DirectUI库。接口、命名等借鉴Qt,而并非使用Windows风格。

MetalBone的特点是,使用CSS来定制样式(如果没有CSS的话,则什么也不显示,lol)。目前可以使用Direct2D或Google Skia来绘制界面。MetalBone使用的是 WWM协议(基于LGPL)

12.SonicUI2011

效果比较不错的一款皮肤库

作者CSDN地址是

http://my.csdn.net/akof1314

13 基于OpenGl的界面库 beGUI-0.1.3-src

代码托管地址

http://code.google.com/p/begui/

二 未开源或商业界面库

1.Flash4UI

看命名就知道是将Flash嵌入到UI中。

官方网站是  http://www.flash4ui.com/

效果图片

2.bolt 迅雷7界面引擎

迅雷界面引擎,这个用过迅雷下载和迅雷看看的就有体会了,界面的确是做的非常的赞。而且流畅,CPU占用和内存各种都很棒。采用了脚本交互的方式,脚本语言采用了Lua.可惜的是迅雷只开放了接口SDK给个人使用。

官方网址 http://bolt.xunlei.com/

3.clayui

百度百科说明   clayui是一个采用纯C++编写的界面框架,可以很方便的移植到各种系统上。现在支持的系统包括android,windows,wince,linux。clayui的特点是能实现各种2D,3D动画,一些WPF,FLEX才能实现的界面效果,通过clayui可以很方便的实现。 clayui的底层渲染支持纯软件渲染,d3d,opengl es硬件加速渲染,您可以根据自身的需求选择合适的渲染方式,使您界面的用户体验达到最佳效果

效果

4.DSkinLite

官方网址  http://www.uieasy.cn/dskinlite/

官方Demo

5.libuiDK

官方说明:LibUIDK是国际上顶尖的专业开发Windows平台下图形用户界面的开发包,也是国内第一款商业的高级界面开发工具。该开发包基于Microsoft的MFC库。使用此开发工具包可轻易把美工制作的精美界面用Visual C++实现,由于LibUIDK采用所见即所得的方式创建产品界面,所以极大的提高了产品的开发速度,并大大增强图形用户界面(GUI)的亲和力。LibUIDK还可以使您的软件轻松具有当今流行的换肤功能,以提高产品的竞争力。

官方网站

http://www.iuishop.com/index.asp

实例

6. SiteUi   SkinSE  都有官方网站。就不继续搬砖的工作了。

7.(未开源)上海勇进UIPower

这个比较牛逼。一款界面库就是大几百万的。老总阙海忠还亲自录了20集的界面库相关的视频

官方网站 http://www.uipower.com/

8.炫彩界面库

炫彩界面库貌似是私人开发的一个界面库,可以用C++.c#易语言等来开发。炫彩库的作者貌似是湖北襄阳人哟。

官方网站 http://www.xcgui.com/

9.魔方界面库

官方网站 http://www.muilib.com/

MuiLib(Magic UI Library)Windows高级界面开发库是在国内首家免费开源的DuiLib界面开发库基础上经过针对性的扩展而发展起来的,他继承了DuiLib高度自由灵活的特点,并吸收了其他界面库的一些优点,针对Windows层窗口按像素透明技术而重点优化后形成的一个优秀界面开发库,是一个使用纯C++调用Windows API的开发库,无任何其他第三方依赖框架,您可以使用其提供的各种高级控件来创建更加炫酷的用户界面

10 XtremeToolkit

由Codejock 公司出品的一款界面库。应用也是比较广泛的。在2013版的大灰狼远程操控中就采用了这款界面库。

11.Sharpui

代码托管地址  https://github.com/china520/sharpui

Sharpui是居于现在流行的DUI思想的一套界面库,可以方便实现半透明和各种界面效果,采用纯c++实现,分为引擎和控件两个部分,这两个部分采用动态库的形式提供,引擎部分处理了事件、资源、渲染、控制逻辑,同时提供了各种应用层面控件的实现基类,包括:Visual、Element、FrameworkElement、Control、ContentControl、Window、Panel、Popup,这些类封装了基础控件的实现细则,所有用户实现的控件都必须继承自这些类,对于需要呈现的控件必须继承至FrameworkElement。
控件部分提供的所有控件均采用DUI方式实现、分层绘制,实现各种常用的布局控件,可灵活实现界面的自动布局;Sharpui本身所有数据结构采用原生实现,内存自动管理,不依赖于std的任何容器,使得库的使用更加独立、编译更加简单,使用VS任意一个版本编译都可以用在其它版本里,不需要担心由于std版本原因而产生编译问题。

以上都是我在工作和个人业余时间收集积累的开源或商业界面库,这些界面库各有各的特色和侧重点,也有不同的换肤思想,如果要用在项目中还是要进行适当的增删整改。

由于个人能力水平见识有限,也有些大神的作品没有被收录其中。表示遗憾。

]]>
http://simulgeek.com/re_cpp_opensource_gui_lib/feed/ 0
向日葵直播地址国际测速 http://simulgeek.com/sonlogin_app_net_speed_test/ http://simulgeek.com/sonlogin_app_net_speed_test/#respond Sat, 23 Mar 2019 05:50:15 +0000 http://simulgeek.com/?p=723 日本东京

德国法兰克福

英国伦敦

美国华盛顿

网速测试服务器提供: https://tools.pingdom.com

]]>
http://simulgeek.com/sonlogin_app_net_speed_test/feed/ 0
转载:WebService客户端引用 服务器无法处理请求。 —> 未将对象引用设置到对象的实例 http://simulgeek.com/re-webservice-error/ http://simulgeek.com/re-webservice-error/#respond Thu, 14 Feb 2019 06:18:06 +0000 http://simulgeek.com/?p=695 问题
服务引用后报错:WebService客户端引用 服务器无法处理请求。 —> 未将对象引用设置到对象的实例

webservice在这里 http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?op=getWeather
是一个天气预报的接口 从网页上测试没问题 自己调用时就会出现以下错误(代码里面报错的地方标红了)

“/”应用程序中的服务器错误。
服务器无法处理请求。 —> 未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ServiceModel.FaultException: 服务器无法处理请求。 —> 未将对象引用设置到对象的实例。
源错误:
行 128:

行 129: public string[] getWeather(string theCityCode, string theUserID) {
行 130: return base.Channel.getWeather(theCityCode, theUserID);
行 131: }
行 132:
源文件: c:\Users\Administrator\Desktop\WebApplication2\Service References\WeatherWS\Reference.cs 行: 130
堆栈跟踪:
[FaultException: 服务器无法处理请求。 —> 未将对象引用设置到对象的实例。]
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) +10733331
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) +336
WebApplication2.WeatherWS.WeatherWSSoap.getWeather(String theCityCode, String theUserID) +0
WebApplication2.WeatherWS.WeatherWSSoapClient.getWeather(String theCityCode, String theUserID) in c:\Users\Administrator\Desktop\WebApplication2\Service References\WeatherWS\Reference.cs:130
WebApplication2.WebForm1.test() in c:\Users\Administrator\Desktop\WebApplication2\WebForm1.aspx.cs:19
WebApplication2.WebForm1.Page_Load(Object sender, EventArgs e) in c:\Users\Administrator\Desktop\WebApplication2\WebForm1.aspx.cs:34
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
System.Web.UI.Control.OnLoad(EventArgs e) +92
System.Web.UI.Control.LoadRecursive() +54
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772

 

解决办法

这是ASP.NET的问题,Microsoft原想用服务引用完全兼容web引用,但是有时候会出现问题。
你调用的是一个WebService当然最好是使用Web引用的方式了。毕竟WCF是后来出的,说是兼容WebService,但是总归没有原生态的好。所以建议如果是WebService客户端引用一律用Web引用(好像是.NET2.0时就叫Web引用)。
操作步骤:删除之前的服务引用(如果有的话);点击服务引用,点击最底下的高级,点击兼容性中的web引用,输入你的webservice地址(例如天气预报:http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx)点击生成,finished!
———————
作者:Will.Guo
来源:CSDN
原文:https://blog.csdn.net/u011800822/article/details/51755974
版权声明:本文为博主原创文章,转载请附上博文链接!

]]>
http://simulgeek.com/re-webservice-error/feed/ 0
wordpress常见问题 http://simulgeek.com/wordpress_common_problem/ http://simulgeek.com/wordpress_common_problem/#respond Sat, 09 Feb 2019 13:37:54 +0000 http://simulgeek.com/?p=620 WP Plugins install erorr – Installation failed: Download failed. cURL error 35

Edit the /wp-includes/class-http.php file – change SSL as noted in code example below

‘decompress’ => true,
// ‘sslverify’ => true
‘sslverify’ => false,
‘sslcertificates’ => ABSPATH . WPINC . ‘/certificates/ca-bundle.crt’,
‘stream’ => false,
‘filename’ => null,
‘limit_response_size’ => null,
);

]]>
http://simulgeek.com/wordpress_common_problem/feed/ 0
Re:游戏开发团队岗位v2 http://simulgeek.com/re%e6%b8%b8%e6%88%8f%e5%bc%80%e5%8f%91%e5%9b%a2%e9%98%9f%e5%b2%97%e4%bd%8dv2/ http://simulgeek.com/re%e6%b8%b8%e6%88%8f%e5%bc%80%e5%8f%91%e5%9b%a2%e9%98%9f%e5%b2%97%e4%bd%8dv2/#respond Fri, 08 Feb 2019 15:17:17 +0000 http://simulgeek.com/?p=596 团队介绍讲解:

如何进入游戏开发行业(下):开发岗位解谜

 

]]>
http://simulgeek.com/re%e6%b8%b8%e6%88%8f%e5%bc%80%e5%8f%91%e5%9b%a2%e9%98%9f%e5%b2%97%e4%bd%8dv2/feed/ 0
转载:应用程序架构指南 http://simulgeek.com/re_application_architecture/ http://simulgeek.com/re_application_architecture/#respond Fri, 08 Feb 2019 03:38:58 +0000 http://simulgeek.com/?p=563 By JD
原文地址:http://shapingsoftware.com/2008/06/01/app-architecture-guide/

应用程序架构(Application Architecture)

程序体系结构的简要说明:

  1. 用户界面组件(User interface components)

    大多数解决方案需要为用户提供与应用程序交互的方式。 UI组件为用户呈现和格式化数据,并获取和验证数据。
    (格式化数据,不是指删除数据,而是指为数据提供格式显示,例如字体、颜色、排列等)

  2. 用户进程组件(User process components)

    在许多情况下,用户与系统的交互遵循可预测的过程。 为了帮助同步和协调这些用户交互,使用独立的用户进程组件实现进程驱动是非常有用的。 这样,在用户界面元素中过程流(process flow)和状态管理逻辑本身不是写死的(hard-coded),并且。相同的底层用户交互“引擎”可以重复使用。

  3. 业务组件(Business components)

    无论业务流程是由单个步骤还是由工作流(workflow)编导组成的,您的应用程序都可能需要实现业务规则和执行业务任务的组件。 业务组件实现应用程序的业务逻辑。

  4. 业务工作流(Business workflows)

    从用户进程收集到所需数据之后,可以使用该数据来执行业务流程。 业务工作流定义并协调(coordinate )了连续运行的(long-running)且多步骤的(multi-step)业务流程。

  5. 服务代理(Service agents)

    当业务组件需要使用外部服务中提供的功能时,您可能需要提供一些代码来管理与该特定服务进行通信的语义。 服务代理隔离了从应用程序调用各种服务的特性,并可以提供其他服务,例如服务公开的数据格式与应用程序所需格式之间的基本映射。

  6. 服务接口(Service interfaces)

    要将业务逻辑公开为服务,您必须创建支持其不同消费者所需的通信合同(基于消息的通信,格式,协议,安全性,异常等)的服务接口。 服务接口有时被称为业务外观。

  7. 数据访问逻辑组件(Data access logic components)

    大多数应用程序和服务都需要在业务流程的某个时刻访问数据存储。 在单独的数据访问逻辑组件层中抽象访问数据所需的逻辑是有意义的。 这样做可以集中数据访问功能,并使配置和维护更加容易。

  8. 业务实体组件(Business entity components)

    大多数应用程序都需要在组件之间传递数据。 例如,在零售应用程序中,必须将产品列表从数据访问逻辑组件传递到用户界面组件,以便可以向用户显示产品列表。 数据用于表示现实世界的商业实体,例如产品或订单。 在应用程序内部使用的业务实体通常是数据结构,例如DataSet,DataReaders或可扩展标记语言(XML)流,但它们也可以使用代表现实世界实体的自定义面向对象的类来实现,例如应用程序使用产品或订单类。

  9. 安全性,操作管理和通信组件(Components for security, operational management, and communication)

    您的应用程序可能还会使用组件来执行异常管理,授权用户执行某些任务以及与其他服务和应用程序通信。

演示、业务和数据层(Presentation, Business, and Data Layer)

使用演示层,业务层和数据层来组织和概述应用程序的逻辑:

By JD

]]>
http://simulgeek.com/re_application_architecture/feed/ 0