【年末特价促销】千年私服一条龙服务介绍 双线游戏服务器租用
返回列表 回复 发帖

MFC的资源切换AFX_MANAGE_STATE(AfxGetStaticModuleState())

以前写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的函数开始添加上AFX_MANAGE_STATE(AfxGetStaticModuleState())。一直不明白这样做的含义,也一直没有这样做,而且代码也工作得好好的,所以感觉这好像一句废话。

最近的项目中,需要在DLL里使用MFC生成界面,这才发现一旦资源放在不同的动态库里,而且还和多线程搅和在一起的时候,事情就变得异常的复杂,以前对MFC的一知半解已经不足与应付了。程序莫名的崩溃,莫名的ASSERT,资源怎样也装载不起来,为什么呢?每次,总是尝试着,在每一个线程的开始,把AFX_MANAGE_STATE(AfxGetStaticModuleState())添加上去,或者在某些地方用AfxSetResourceHandler()一把,然后问题就解决了,但是不是很明白到底是怎么回事,总感觉这种解决办法让人很不安心,仿佛在下一秒问题又会突然冒出来。

前天,这个问题终于发挥到了极致,任我花费了好几个小时,怎样的尝试都不能成功,在项目的关键时候发生这种事情,让我暗暗发誓以后再也不用MFC了。正像很多的电影情节一样,事情最后还是得到了解决,这次我决定不能再这么算了,一定要把这个事情理解得明明白白。

在这里,我遇到的问题就是,如何让DLL里的界面代码使用该DLL的资源(Resource),如何在工作线程里加载有IE控件的对话框?

我问同事,他们是如何实现DLL资源切换的?AFX_MANAGE_STATE(AfxGetStaticModuleState())这就是他们的答案,一如微软的推荐,原来就是这么简单啊!让我们来看看,这句代码到底做了什么?

#define AFX_MANAGE_STATE(p) AFX_MAINTAIN_STATE2 _ctlState(p);

AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE* pNewState)
{
    m_pThreadState = _afxThreadState;
    m_pPrevModuleState = m_pThreadState->m_pModuleState;
    m_pThreadState->m_pModuleState = pNewState;
}

_AFXWIN_INLINE AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2()
{  m_pThreadState->m_pModuleState = m_pPrevModuleState; }

原来,就是定义一个局部的对象,利用其构造和析构函数在函数的入口和函数的出口进行State状态的切换,我猜AfxGetStaticModuleState()一定是获取当前代码所在DLL的State。

果然,请看

static _AFX_DLL_MODULE_STATE afxModuleState;

AFX_MODULE_STATE* AFXAPI AfxGetStaticModuleState()
{
    AFX_MODULE_STATE* pModuleState = &afxModuleState;
    return pModuleState;
}


class _AFX_DLL_MODULE_STATE : public AFX_MODULE_STATE


// AFX_MODULE_STATE (global data for a module)
class AFX_MODULE_STATE : public CNoTrackObject
{
...
    CWinApp* m_pCurrentWinApp;
    HINSTANCE m_hCurrentInstanceHandle;
    HINSTANCE m_hCurrentResourceHandle;
    LPCTSTR m_lpszCurrentAppName;
    BYTE m_bDLL;    // TRUE if module is a DLL, FALSE if it is an EXE

...
    COccManager* m_pOccManager;
...

这里不得不说,MFC把很多的数据都堆放在这里,搞得很复杂,结构性非常的差。
}

afxModuleState是dll的静态成员,自然可以被同样的dll里的代码所访问,但是何时初始化的?


extern "C"
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
{
...

        AfxWinInit(hInstance, NULL, _T(""), 0);
...
}

BOOL AFXAPI AfxWinInit(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPTSTR lpCmdLine, int nCmdShow)
{
    ASSERT(hPrevInstance == NULL);

    // handle critical errors and avoid Windows message boxes
    SetErrorMode(SetErrorMode(0) |
        SEM_FAILCRITICALERRORS|SEM_NOOPENFILEERRORBOX);

    // set resource handles
    AFX_MODULE_STATE* pModuleState = AfxGetModuleState();
    pModuleState->m_hCurrentInstanceHandle = hInstance;
    pModuleState->m_hCurrentResourceHandle = hInstance;

...

}

原来在DLL的入口函数,用该DLL的hInstance初始化了该结构。


到这时候,我们还是不明白,为什么要进行资源切换?前面开始的_afxThreadState到底是什么?好像跟Thread有关系,到底是什么呢?

THREAD_LOCAL(_AFX_THREAD_STATE, _afxThreadState)

#define THREAD_LOCAL(class_name, ident_name) \
    AFX_DATADEF CThreadLocal<class_name> ident_name;

template<class TYPE>
class CThreadLocal : public CThreadLocalObject

再往下跟踪,发现其实代码越发生涩难懂,但是基本的功能就是访问当前此行代码的线程的私有数据。所谓线程的私有数据,就是说,不同的线程执行同样的一段代码,得到的数据可能是不同的。这才想起来,MFC的很多句柄啦,都是保存在全局的Map里的,而且放在线程的私有数据区里,所以跨线程传递MFC对象是很不安全的。但是,MFC为什么要这么做呢?这个问题,到目前为止,我还是搞不明白。

还是回到开始的代码,资源切换到底是如何进行的?


int CDialog:oModal()
{
...

    HINSTANCE hInst = AfxGetResourceHandle();
    if (m_lpszTemplateName != NULL)
    {
        hInst = AfxFindResourceHandle(m_lpszTemplateName, RT_DIALOG);
        HRSRC hResource = ::FindResource(hInst, m_lpszTemplateName, RT_DIALOG);
        hDialogTemplate = LoadResource(hInst, hResource);
...
}


_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetResourceHandle()
    { ASSERT(afxCurrentResourceHandle != NULL);
        return afxCurrentResourceHandle; }

#define afxCurrentResourceHandle    AfxGetModuleState()->m_hCurrentResourceHandle

AFX_MODULE_STATE* AFXAPI AfxGetModuleState()
{
    _AFX_THREAD_STATE* pState = _afxThreadState;
    AFX_MODULE_STATE* pResult;
    if (pState->m_pModuleState != NULL)
    {
        // thread state's module state serves as override
        pResult = pState->m_pModuleState;
    }
    else
    {
        // otherwise, use global app state
        pResult = _afxBaseModuleState.GetData();
    }
    ASSERT(pResult != NULL);
    return pResult;
}

原来MFC的对话框装载资源是通过获取当前线程对应的ModuleState保存的ResourceHandler来装载资源的。所以,DLL里的代码,需要在函数的入口,首先把当前执行线程的ModuleState换成该Dll的State,这样才能装载该dll的资源!这时候,我突然明白过来,为什么需要要依赖线程的私有数据来保存ModuleState,其实确切的说是传递!--这其实是因为CDialog是存放在另一个DLL里的,比如MFC40.dll,如果以共享模式连接MFC库的话。而用户自己编写的CDialog的子类并不放在CDialog同样的Dll里,他们如何来传递这个资源句柄呢?两种解决办法:1,利用参数传递。2,存放在一个公共的地方。前者需要增加参数,显得很麻烦,Win32的API好像就是这样实现的吧?后者,需要确定这个公共地方在何处?这让人想起来,建立一个公共的动态库?由主程序的提供?再多说一句,J2EE里有一个容器的概念(COM+好像也有,不知道.NET是如何的),组件都是生存在容器里,这时候我们就可以设想把该数据存放在容器里。不管怎样,MFC的实现就是放在线程的私有数据区,不需要公共的动态库,也不需要麻烦主程序,它自己就搞定了!它自以为很好的解决方式,很完美,却引发了我们的一系列的问题,特别是不明白就里的人。

关于资源装载,问题似乎已经解决了,但是还有一点点小麻烦就是,我实现的dll不是以普通的输出函数进行输出的,而是输出类,我可不想在每一个类的成员函数里添加AFX_MANAGE_STATE(AfxGetStaticModuleState())。怎么办呢?既然已经知道了资源切换的原理,我们添加两个输出函数,分别对应AFX_MAINTAIN_STATE2的构造和析构函数,在类的使用前后调用,就可以了。或者,分别放在类的构造和析构函数里。又或者,就声明为成员变量。无论怎样,需要保证的一点就是资源的切换要正确嵌套,不可交叉--这种情况在不同的DLL之间交叉调用的时候会发生。

好了,现在DLL里的资源可以正确调用了,但是在当Dialog上包含有IE控件的时候,我们还是失败了,为什么呢?我知道对于ActiveX控件,Dialog需要做一些特殊的处理,AfxEnableControlContainer(),我也知道,要使用COM,需要CoInitialize(),但是我一直没有想过需要两个一起用才能把IE弄出来,但是最后就是这样的。奇怪的是,如果不是在工作线程里,根本不需要CoInitialize(),就能装载IE控件的,这个暂时就先不管了。

PROCESS_LOCAL(COccManager, _afxOccManager)

void AFX_CDECL AfxEnableControlContainer(COccManager* pOccManager)
{
    if (pOccManager == NULL)
        afxOccManager = _afxOccManager.GetData();
    else
        afxOccManager = pOccManager;
}

#define afxOccManager   AfxGetModuleState()->m_pOccManager

这样看来,这个_afxOccManager应该是属于整个进程的,整个进程只有一个,就在那个定义它的dll里。但是,你需要把该对象(或者创建一个自定义的)传给ModuleState(请注意前面的AFX_MODULE_STATE里就包含了该属性),也就是要AfxEnableControlContainer()一下,这样特定的ModuleState就有了OccManager的信息!但是,请注意,一定要在目标dll里,正确切换了资源之后,才能进行,如下:

AFX_MANAGE_STATE(AfxGetStaticModuleState());
CoInitialize(NULL);
AfxEnableControlContainer();

至此,这个困扰我很久的问题,终于脉络清晰起来了。
清风工作室网站  QFkz.Com  1000MIDC.Com
联系QQ:82685552 电话:13523533972 狄超

球磨机 球磨机价格

球磨机   球磨机价格我公司矿山机械类产品有矿石的破碎、筛分设备,磨矿设备-球磨机、圆锥节能球磨机、水泥球磨机.有用于各种矿物的磁选、浮选、重选、氰化设备,物料的输送、提升设备,脱水处理设备等成套选矿设备。为各类大中小型选矿厂提供成套与配套设备,长期供应零配件。本厂还供应系列超微粉体设备;雷蒙磨粉机、风选粉碎机、木粉机(用于纤维类物料的粉碎加工),其中在集成国内外先进技术基础上研制开发的高压悬辊磨粉机,可将矿石粉碎加工至3000目以细,为我国超细矿粉加工首选产品。我公司生产研制的系列球磨机,远销俄罗斯、南非、越南等国家,受到国内外用户的一致好评。   我公司与科研院所结合,产品不断更新换代,以先进的技术、优异的质量为用户服务。各位尊敬的用户在使用我公司产品时有什么宝贵意见,敬请与我们联系。我们愿与广大用户真诚合作,共同为振兴民族工业,为我国国民经济发展作出贡献。



  球磨机是物料被破碎之后,再进行粉碎的关键设备。球磨机广泛应用于水泥,硅酸盐制品,新型建筑材料、耐火材料、化肥、黑色与有色金属选矿以及玻璃陶瓷等生产行业,对各种矿石和其它可磨性物料进行干式或湿式粉磨。
·球磨机简介—球磨机工作原理—球磨机结构特点—球磨机图片——球磨机技术参数
·煤磨机技术参数—原料磨技术参数—水泥磨技术参数—高效节能圆锥球磨机技术参数
  球磨机工作原理:本机为卧式筒形旋转装置,外沿齿轮传动,两仓,格子型球磨机。物料由进料装置经入料中空轴螺旋均匀地进入磨机第一仓,该仓内有阶梯衬板或波纹衬板,内装不同规格钢球,筒体转动产生离心力将钢球带到一定高度后落下,对物料产生重击和研磨作用。物料在第一仓达到粗磨后,经单层隔仓板进入第二仓,该仓内镶有平衬板,内有钢球,将物料进一步研磨。粉状物通过卸料箅板排出,完成粉磨作业。

高效细碎机(新型制砂机) 细碎机 制砂机 制沙机

■■国营河南山宝矿山机械厂,以生产矿山设备为主,是国内最早生产矿山机械的厂家之一。本公司拥有雄厚的技术实力,精良的加工设备,先进的生产工艺,完善的质量保证体系。本着‘以诚立信,以质为本,不求最好,但求更好’的企业精神。

■■我公司生产的高效细碎机(制砂机),环锤式破碎机,复合式破碎机,振动筛,洗砂机,鄂式破碎机,免烧砖机,烘干机,破石机,木粉机,球磨机,现推出粮油机械,颚式破碎机(颚破机),锤式破碎机(锤破),反击式破碎机(反击破),辊式破碎机(双辊破),对辊破碎机,冲击式破碎机(冲击破),颚破机,鄂破机,细破机,破石机,碎石机,克石机,给料破碎机,原煤破碎机,路面破碎机,复摆细碎颚式破碎机,PCL破碎机,自击式破碎机,立式复合破碎机,卧式复合破碎机,圆锥破碎机,碎石机及破碎生产线上使用的振动给料机(喂料机),摆式给料机,复摆式给料机,输送机,胶带输送机,输送设备,直线振动筛(直线筛),圆振动筛(圆筛),筛分设备。筛选设备,皮带输送机以及各种矿山配套设备。

■■客户的需要,是我们的追求,您的关爱是我们的动力,把您的手和我们的手握在一起,共创未来!质量是企业的生命,一切让客户满意是我们永恒的追求,是我们一贯坚持的质量方针;我们注重产品质量的每一个环节,设备的出厂合格率始终是100%,维修率是同行业中最低的。

■■我们并不是最优秀的企业,但是,我们优质的产品和完善的售后服务,打造坚实的市场基础和良好的用户口碑,合理与客户共创双赢!

■■联系电话:0371-67846390  13939015767    联系QQ:785804822

出售高端商业名录 15889351717 (13)

最新数据库:15889351717 QQ:228577322

最新企业名录
最新车主名录
最新业主名录
最新老板名录

上海建设银行会员=3万5
阿里巴巴国际会员=5万
工商数据=47万
阿里巴巴全国=150万
广州车主=73万
上海车主=17万
全国董事长手机号码=23万
全国人力资源和行政领导联系方式=19万
全国人事主管联系方式=4万
淘宝卖家联系方式=70万
101届广交会参展商=2万
全国经理联系方式=146万
全国工商企业数据库=200万
广交会国外采购商=50万
北京高尔夫球会员=2万
北京工商银行卡会员=40万
北京业主=56万
北京车主=70万
长沙移动金卡客户=10万
电视购物=200万
东莞车主=12万5
广东老板高层管理人员25万=24万
广州全球通会员=125万
深圳全球通会员=120万
佛山全球通=92万
江门全球通=28万
韶关全球通=15万
东莞全球通=64万
广州工商银行会员=10万
广州天河区电信用户名单=30万
广州业主=56万
杭州车主=16万
杭州移动全库=260万
宁波移动全库=280万
湖南移动VIP客户=77万
美容公司和美博会参展企业资料=10万
上海联通大客户=10万
全国网站备案和网络人员=137万
上海招商银行=6万3
北京白领手机号码=41万
中国城镇居民电话=100万
北京超市会员=26万
统计局登记会员信息=145万
河南移动全库=2300万
四川移动全库=2200万
上海移动全库=900万
广东移动全球通全库=500万
重庆移动全库=1000万
http://www.goodvk.com/1.txt
联系电话:15889351717 QQ:228577322。

好贴 支持楼主!

楼主,你的高尚情操太让人感动了。在现在这样一个物欲横流的金钱社会里,竟然还能见到楼主这样的性情中人,无疑是我这辈子最大的幸运。让qietingqi我深深感受到了人性的伟大。楼主的帖子,就好比黑暗中刺裂夜空的闪电,又好比撕开手机qietingqi乌云的阳光,一瞬间就让我如饮甘露,让我明白了永恒的真理在这个世界上是真实存在着的。只有楼主这样具备广阔胸怀和完整jiantingqi知识体系的人,才能作为这真理的惟一引言者。看了楼主的帖子,我陷入了手机jiantingqi严肃的思考中。我认为,如果不把楼主的办-证帖子顶上去,就是对真理的一种背叛,就是对谬论的极大妥协。因此,我决定义无返顾地顶了!

                       \\\|///
                     \\  - -  //
                      (  @ @  )
┏━━━━━━━━oOOo-(_)-oOOo━┓
┃网海茫茫,认识你是我们的福份;  ┃
┃网语缠绵,那是我们注定的缘份。  ┃
┃                         Oooo  ┃
┗━━━━━━━━ oooO━-(   )━┛
                   (   )   ) /
                    \ (   (_/
                     \_)

破碎机网-提供破碎机,鄂式破碎机,塑料破碎机,锤式破碎机,圆锥破碎机

破碎机网-提供破碎机,鄂式破碎机,塑料破碎机,锤式破碎机,圆锥破碎机...
破碎机网提供破碎机,颚式破碎机,鄂式破碎机,塑料破碎机,锤式破碎机,圆锥破碎机,反击式破碎机,冲击式破碎机,对辊破碎机等供求信息和相关技术资料。

【编者按】

【编者按】专家指出:夫妻由于饮食习惯相同、生活方式相近,很容易感染同一种疾病,提醒我们在享受“夫妻相”给我们带来的幸福的同时,也要警惕共同的生活方式带来的“夫妻病”。

  案例

  静宜拿着医生开出的单子,怎么也想不通,明明是老公患有糖尿病,怎么现在自己也患上了?

  鸡眼静宜与老公结婚已经十年了,感情好得没话说,她一直像个小女人般跟进跟出,细心体贴地伺候着老公的饮食起居。老公爱吃甜的和油炸食品,她就依照他的口味,早餐吃蛋糕,做菜爱放糖,没事吃麦当劳,甚至在老公的书包和家里的茶几上都备着巧克力、糖果之类的零食,以便他累了、馋了能随时补充。

  一年前,老公查出来患了糖尿病,一年后,她也查出了糖尿病。

  专家指出,过敏性皮炎这其实就是共同的生活方式导致的“夫妻病”。专家介绍,很多人都有体会,夫妻生活时间长了,相貌会越来越相似,就是我们所说的“夫妻相”。夫妻朝夕相处在一起,共同生活的时间长了,饮食习惯相同、生活方式相近,很多疾病也会同时感染,这就是所谓的“夫妻病”。专家提醒,我们在享受“夫妻相”给我们带来的幸福的同时,也要警惕共同的生活方式带来的四种类型的“夫妻病”。

  绝不放过型

  典型代表:感冒、性传播疾病、某些皮肤疾病

  带状疱疹这些疾病虽然表现各不相同,但都有一个特点,就是不会放过共同生活的人——当然前提是没有采取预防措施的情况下。其实,假如一方不慎染病,只要另一方做好防御,还是能幸免的。

  感冒

  当家庭的成员中有一人得感冒时,有40%的其他成员也会被传染。为了安全起见,感情再好的夫妻,在感冒期间还是尽可能避免法式热吻等行为的好!

  对策:感冒的一方出现流鼻涕、发热、咳嗽等情况,首先应该让“病号”加强营养和休息。未感冒的另一方可采用喝姜汤、服用“大青味”、单独使用碗筷等方法提前预防被传染。室内应加强通风和消毒,以熏醋法来加强消毒。

  性传播疾病

  假如一方不幸患上了尖锐湿疣、梅毒、艾滋病(专题 访谈 咨询)等,在没有防护措施的情况下进行性生活,很容易传染给对方。

  对策:一方得了性方面的疾病时,戴安全套过夫妻生活是切断传播的不二法则。要注意对毛巾、脸盆、被褥的清洁消毒。已被污染的用具,可用肥皂水冲洗、开水煮烫、阳光暴晒以及使用消毒液等方法处理。

  至于已经患病的一方,没别的办法,只有到正规医院接受治疗。

  某些皮肤疾病

  夫妻之间不可避免的每天有近距离接触,很容易让扁平疣、头足癣、麻疹、口蹄疫等皮肤病钻空子,通过身体接触或衣服接触传染给对方丹毒

  对策:减少皮肤接触;衣服分开洗涤;尽快求医,并且共同求医。

  夸大其词型

  典型代表:乙型肝炎、肺结核、艾滋病

  体癣它们都具有典型的传染性,让人听到都退避三舍。不过,其传染性经常被人们误解而肆意夸大,以为得了其中的疾病,就无法再一同生活、工作,害怕被传染上。其实,对于夫妻来说,只要做好防护,还是可以避免传染的。

  乙型肝炎

  由于它的结局往往是肝癌或硬化腹水,所以很可怕。更麻烦的是,乙肝具有传染性,并且无药可根治。乙肝主要通过血液、精液传播,假如只是一起吃吃饭、喝喝茶,是不会传染的。就算是夫妻,10对夫妻中仅有一对可能通过这个途径传染给对方。

  对策:得了乙肝应该积极治疗,不要因此背上心理负担而放弃婚姻和爱情;夫妻生活时应戴避孕套;吃饭时稍微小心点,避免使用同一双筷子;及时注射乙肝疫苗。

  需要注意的是,不要有血液接触。

  肺结核

  这种病已经很少见了,在发达地区更是趋于绝迹,假如感染了结核病菌,在身体健康的情况下,大多情况是一生不发病,会自然痊愈。所以夫妻之间并非一人得结核,另一方必然被感染,看见结核病人家属就躲得远远的做法更是过时了。

  对策:肺结核还有开放性和陈旧性之分,只有开放性结核有传染性,痰里带菌;陈旧性则没有传染性。

  艾滋病

  同样,艾滋病是性传播疾病,虽然很凶猛,但切断夫妻之间直接性接触的渠道,还是可以避免感染的。只是,家中一旦有此病人,家人的一切幸福就将断送,难以治愈,给家人带来的心理创伤,将让家人容易染上抑郁疾患等。

  对策:切断夫妻之间任何直接性接触的渠道。

  被人遗忘型

  典型代表:胃炎、胃溃疡、失眠

  这些疾病的发生,很少有人认为是夫妻双方的原因,总是把它们的发生跟工作紧张压力大、心情不好等联系起来,其实压力和心情这两种感受,全在于最亲密的人如何去协调。相互关爱,调理好了,这些问题也就不会存在了。

  胃炎、胃溃疡

  如果夫妻之间存在猜忌,就很容易造成神经功能紊乱,刺激胃酸过多分泌。情绪焦虑还会导致体内血液的供应不足,胃黏膜功能和胃部的防御功能下降,胃黏膜失衡则会发生胃溃疡。

  另外,一半的正常人体内都携带有幽门螺旋杆菌,该菌可通过筷子、接吻等途径传染,从而导致溃疡病。此外,以腹痛、腹胀、腹泻及便秘等胃肠功能紊乱为特征的肠易激综合征也是常见的“夫妻病”,这主要与精神因素(焦虑、压力、疲倦等)和不良生活习惯(喜辛辣食物、不吃蔬菜、少运动、饮水少和不按时排便等)相关。

  对策:夫妻之间要彼此信任和关心,时刻提醒自己:你在伤害对方的时候也在伤害自己;最好采用“分筷制”,并定期对筷子进行消毒处理,是预防胃病的重要措施;用各种方法增加生活情趣,减少应激状态发生;若一方已经患溃疡病,留意分筷制吃饭。

  失眠

  严重的失眠可以看作一种精神疾病,偶尔失眠则不列为疾病。大多数夫妻共同失眠的原因是由于生活不规律或者长期心理压抑、焦虑造成两个人都出现入睡困难、多梦、早醒的现象。如果丈夫工作繁忙,无暇顾及家庭,女性感到受冷落或者当女性在工作、生活方面面临重大抉择和压力又无法倾诉和被安慰时,就会导致忧郁、焦虑,久而久之就会出现失眠现象。而夫妻同床共枕,只要一方睡眠差,势必影响到另外一个人。时间久了,会出现耳鸣、头晕、心悸等相关症状。

  对策:尽量打消生活焦虑,夫妻之间经常沟通,保持完美的性生活,都有利于睡眠质量的提高;正确对待发生在性功能上的问题,不要讳疾忌医,预防或消除因此而产生的焦虑性失眠;不管是因为什么而失眠,都不能单纯地依赖,更不能长期服用同一种,如果非要使用,一定要寻求医生的帮助。

    生活方式型

  典型代表:糖尿病、高血压、癌症、孕育力异常、性功能下降等

  这些疾病都具备一定的遗传素质,在某些不良的生活方式的促发下就容易发生。夫妻之间十多年甚至几十年的共同生活,饮食习惯、运动爱好趋于一致,假如一方患了“生活方式病”,另一方也很容易患。越是夫妻感情好,形影不离的,越容易共同患病。

  糖尿病

  长期的高脂肪、高糖饮食(比如很多读者朋友喜欢吃油炸食品、蛋糕、零食等),加上不运动、发胖,多基因遗传病——糖尿病就会不可避免,医学界早就发现夫妻共患病里,糖尿病居于首位!自己不被对方传染还不是最根本的解决办法,最好的方法是从生活方式着手,让两人共同远离这种医疗界至今难以攻克的疾病。

  对策:多运动,心情开朗;多素食,少油腻。

  高血压

  高血压和冠心病等都是典型的生活方式富贵病,跟高油脂饮食、少运动、发胖关系密切,更重要的是,很多夫妻之间由于争吵、猜疑,而导致心情波动很大,久而久之血压就高了。所以妻子要为全家人调理健康饮食,并且夫妻双方要互相理解,建立其乐融融的家庭环境,这些疾病的发生至少会晚15年出现。

  对策:对于不良的生活,夫妻间应相互提醒、相互监督;健康饮食,拒绝高能量、高脂肪、高蛋白、低纤维的食物;保持适当运动的习惯。

  癌症

  肺癌、肠癌和胃癌被认为是恶性肿瘤中具备典型表现的“夫妻病”。夫妻双方同时或先后患同一类癌症的发生与环境因素、生活方式有密切关系。

  夫妻生活的同一环境,可能潜在着相同的致癌因素:相互影响的不良情绪(如吵架、焦虑和抑郁心理)将导致免疫力的降低;相同的不合理、易致癌的饮食习惯(爱吃烧烤、油炸、腌菜、熏肉等食物);以及共同长期居住污染环境(主动和被动吸烟、装修材料和油漆的室内污染)等,都将导致同患癌症的几率增加。

  对策:家庭成员应远离空气污染严重和有害粉尘多的环境;保持合理膳食结构、清淡饮食,少吃腌制食品,多吃新鲜蔬菜水果;保持心情愉快,多沟通,保持愉快的家庭生活,戒烟少酒。

  孕育力异常

  有些想要宝宝的夫妻总是怀不上,一检查,丈夫精子活力异常,妻子排卵也不太正常;总算怀上了宝宝,可不到3个月就流产了,检查说是染色体异常。

  孕育力异常,不能归结为某一方有问题,由于夫妻共同生活在特定环境下,平时生活中的电脑和微波炉辐射、饮用水化学元素异常、电热毯使用不当等问题往往影响双方身体状况,造成无法得到健康的宝宝。

  对策:如果想要宝宝,夫妻双方要提早半年到医院做相关检查;对家庭居住环境进行彻底清理,适量改善食谱,为迎接健康宝宝做好准备。

  还有一点也很关键,怀孕前丈夫一定要戒烟戒酒,以免留下畸形胎儿的隐患。

  性功能下降

  美好的性生活让夫妻更健康、更长寿,但是,假如妻子由于工作压力或生育等缘故对性生活出现厌恶、抗拒,丈夫则很容易出现阳痿、不举等现象;假如妻子对丈夫的烟酒爱好不加制止,那么丈夫在四十多岁的时候往往就“不行”了。所以保持性功能绝对属于杜绝“生活方式病”的必修课。

  对策:妻子要注意为丈夫准备健康饮食,多吃海鲜等含锌的食品,戒烟少酒;夫妻之间多沟通,并乐于在一起享受沟通的时光。

   “夫妻病”应当同诊同治

  针对那些发病与夫妻生活密切相关的疾病,近来有不少医院开设了“夫妻同诊同治”门诊,涉及范围包括男科、妇科、泌尿科等。

  通过联合会诊的形式实现学科之间的项目联合和优势互补,能有效提高治疗效率,缩短治疗周期,同时也能为患者节约大量的时间和金钱。 
[URL=HTTP://www.pla466.net]皮肤病[/URL]

凡新开户会员一次性获得存款总额10%礼金赠送

(3)2008年新会员多重优惠:
皇冠投注网
http://www.ccrrrll.cn
(1)凡新开户会员一次性获得存款总额10%礼金赠送,多存多送,千万现金送完为止。
(2)会员存款20000元以上可获赠10%礼金,5000元以上可获赠5%礼金;多存多送
提取礼金的说明:需投注额超过原来开户的5倍才能提取赠送的10%礼金,客户的开户信用额提取不受此限制,以存款20000为例:存款20000我们赠送现金2000,累计投注金额超过100000,提彩时便可连赠送部份的2000礼金一起提走。
(3)所有会员都即时获赠送有效投注额0.75%的回水,会员每周如有效投注额超50000将另外多获0.75%的回水,每周一自动返还到合条件的客户帐号,,最高可获赠合共1.5%的高额回水,全天24小时开户,提彩。
皇冠正网
http://www.cccrr77.cn  刚才在皇冠投注网里聊天去了。 皇冠足球投注 http://www.ccr222.cn 正版皇冠投注网 皇冠投注开户,皇冠投注网开户,皇冠投注网百度 皇冠最新投注网
全国免费咨询热线:00861-581578-1111  
本日志相关的主题:
皇冠足球开户
http://www.ccrrr77.cn
如何成为皇冠投注的客户
皇冠新年优惠尊贵会员活动
如何成为皇冠投注的客户
(3)2008年新会员多重优惠:
如何成为皇冠投注的客户
皇冠足球投注网
http://www.ccr111.cn
皇冠网:http://www.ccr222.cn
皇冠正网:http://www.ccrrrll.cn
皇冠投注网:http://www.cccrr77.cn
皇冠投注开户:http://www.ccr222.cn
皇冠后备投注网:http://www.ccr111.cn
皇冠ry22222投注网:http://www.ccrrr77.cn
皇冠投注网开户:http://www.ccr222.cn
皇冠备用投注网:http://www.ccr111.cn

麦冬草

麦冬草              

冬草的形态特征和栽培技术
  麦冬[Ophiopogogon japonicus(L.f.)Ker-Gawl.]是百合科植物,既是中医药用植物,也是园林绿化地被植物的的首选品种,近年来由于市场需求量的不断增加呈供不应求的趋势。麦冬主产浙江、四川、福建、江苏、安徽等省,原为野生,现亦有栽培。  
  形态特征麦冬草  麦冬为多年生草本植物,株高14-30厘米。根茎细长,匍匐有节,节上有白色鳞片,须根多且较坚韧,微黄色,先端或中部常膨大为肉质块根,呈纺锤形或长椭圆形。叶丛生,狭线形,先端尖,基部绿白色并稍扩大。花茎从叶丛中抽出,比叶短;总状花序,每苞片内着生l-3朵花,花被6,淡紫色,偶有白色,小型;雄蕊6、雌蕊1,子房半下位,3室。浆果球形,成熟时蓝黑色;种子1粒,球形,蓝绿色或黄褐色。花期7-8月,果期8-10月。  
  生长习性
  麦冬喜温暖湿润、较荫蔽的环境。耐寒,忌强光和高温,7月见花时,地下块根开始形成,9-10月为发根盛期,11月为块根膨大期,2月底气温回升后,块根膨大加快。种子有一定的休眠特性,5℃左右低温经2-3个月能打破休眠而正常发芽。种子寿命为1年。
  栽培技术
  1.选地、整地
  宜选疏松、肥沃、湿润、排水良好的中性或微碱性砂壤土种植,积水低洼地不宜种植。忌连作。前茬以豆科植物如蚕豆、黄花苜蓿和麦类为好。每亩施农家肥3000千克,配施100千克过磷酸钙和100千克腐熟饼肥作基肥,深耕25厘米,整细耙平,作成1.5米宽的平畦。
  2.繁殖方法
  以小丛分株繁殖。一般在3月下旬至4月下旬栽种。选生长旺盛、无病虫害的高壮苗,剪去块根和须根,以及叶尖和老根茎,拍松茎基部,使其分成单株,剪出残留的老茎节,以基部断面出现白色放射状花心(俗称菊花心)、叶片不开散为度。按行距20厘米、穴距15厘米开穴,穴深5-6厘米,每穴栽苗2-3株,苗基部应对齐,垂直种下,然后两边用土踏紧做到地平苗正,及时浇水。每亩需种苗200-250?O左右。

麦冬草-金边麦冬-细叶麦冬-阔叶麦冬- 麦冬的功效- 麦冬生长习性-麦冬栽培枝术-麦冬形态特征:互连网 QQ:993471564英杰花木http://www.yjhmw.cn 电话:0733-2575833-13469440817联系人邹英杰

  

不关我的事,我给大家讲笑话,“灵魂出窍”二作

一位怕老婆的小说家写了一篇怕老婆的手记,不

幸给他老婆看见了。她立刻指着丈夫呵斥道:“你的胆

子越来越大了,这种没灵魂的文字,下次必须少作少

写。”小说家听后,连忙陪着笑脸说:”不错!夫人前

天不是曾对我发怒吗?我这篇文字,便是在那灵魂刚刚

出窍的时候写的。”

            

            

            










  糖尿病食疗  糖尿病中药 糖尿病专科 糖尿病人的饮食 糖尿病人的饮食
随着国民经济的高速发展和改革的不断深入,社会分工越来越明确,对各行各业都提出了专业化,精细化的要求。上海至尊办公
家具有限公司就是在这社会大背景下于2000年顺势诞生了!
        本公司自成立以来,紧随社会发展的脉博,不断的潜心研究,锐意进取,设计开发出了一系列新型现代上海办公家具玻璃办公桌玻璃会议桌产品,满足了人
们对办公家具产品日益增长要求。特别是美观性、实用性与功能性的要求!
        我们拥有先进的生产设备,年轻的技术生产骨干,传统的生产工艺与现代理念相融合,生产出了一系列气度非凡,雍容华贵的班
台、会议台,灵活轻巧的屏风组合,符合人体工程学的椅子和沙发等。我公司产品选材优良,制作严谨,服务完善。本着“客户为尊,
诚信经营”的理念,致力向客户提供美观、舒适、实用的上海办公家具玻璃办公桌玻璃会议桌。为客户打造一个完美、和谐,现代高效的办公空间。让您在激烈
的商业竞争中,更多一份自信,更多一份从容 !
        让我们真诚携手,共享成功的喜悦!
返回列表