31 3月
//create by dll
//for sango1 pak file
unit PaksiStream;
interface
Uses
Windows,SysUtils,Classes, Dialogs;
const SEARCHSIZE = 64; //搜索数据时的区块大小
const HEADERPREFIX : array[0..13] of byte = ($FA,$FF,$DD,$FF,$CF,$FF,$B4,$FF,$AC,$FF,$8C,$FF,$9E,$FF);
const STARTPREFIX: array[0..5] of byte = ($50, $41, $4B, $53, $49, $10);
type
TData = array of byte;
PTData = ^TData;
TIntData = array[0..3] of byte;
TSpData = array[0..15] of byte;
TStringData = array[0..39] of byte;
31 3月
很简单的一句
m_Cmd.AppendParameter(
"@CharName"
,DataTypeEnum::adVarChar
,ParameterDirectionEnum::adParamInput
,50
,(_variant_t)msg->szCharName);
想必都觉得应该没什么悬念了吧,可是
万一szCharName所有元素都不为0,也就是说没有结束符,那么,就是噩梦一场了
执行查询出错,弹出个_com_error_e不知道感觉如何呢
还需要实现下面的catch才能知道你要知道的东西
catch(_com_error e)
{
char log[10240];
sprintf_s(
log
,sizeof(log)
,"code:%08lx\ninfo:%s\nsrc:%s\ndesc:%s"
,e.Error()
,e.ErrorMessage()
,(LPCSTR)e.Source()
,(LPCSTR)e.Description());
MessageBox(NULL,log,"error",MB_ICONEXCLAMATION);
}
31 3月
我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。如果我们并不是所有的程序都是MFC,那么我们应该怎么做呢?很简单,只要重载new操作,
#ifdef _DEBUG
#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)
#endif
然后打开内存泄露检测
void EnableMemLeakCheck()
{
_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
}
就OK了。在程序退出时会在调试窗口提醒内存泄漏了,只要双击就可以跳到造成内存泄露的地方去。
29 10月
这段时间,一直关注某个开发爱好者的群
酷热如夏的初秋,在我看过部分聊天记录后仿佛都已经变成寒冬
某位朋友整天生成数学如何体现在程序开发上
如何如何整天钻研数据结构、指针、内存等等
实在令我毛骨悚然,为什么要这样?
是显示自己深湛的数学功底还是超强的逻辑能力?
很多他的想法,基本是脱离开发思想的概念
他却能强硬把这种现象归为一切都是数学
因为数学理论已经建立就不用再去考虑什么开发思想了
我不禁迷茫万分
每每和他谈及抽象的模式或思想部分
回的只是千篇一律的,数学不能解释,所以不能用
为什么不能想想是不是自己的数学还没到那个境界
所以导致解释不了呢?
这就是可爱又可恨的“游戏开发行业从业者”
虽然可能是山寨的:)
29 10月
咎由自取的人已经得到该有的下场了
秩序已经恢复,相信我的激情也应该回来了
已经到了技能结合的步骤了
各部分已经就绪,只等协议的结合了
场景,再加上接下来的物品数据结合
我们的游戏就快要诞生了
明天是美好的,我对我自己说:勇敢走向明天!