请问两个让小弟我吐血的有关问题

请教两个让我吐血的问题
最近我需要在程序中对Word进行调用,遇到了两个问题:
1、原来是采用CreateObject,然后OleFunciton、OlePropertyGet/OlePropertySet的方法进行操作,但是下面这段代码在单独的Form中实验是正确执行的,但一旦把它并入另一个复杂些的工程里面去,就会出现EAccessViolation,调试之后发现是CreateObject后并未赋值给WordApp对象,内存中却已经有了WinWord进程,不知道该如何处理?
        Variant   WordApp;
        WordApp   =   Variant::CreateObject( "Word.Application ");
        WordApp.OlePropertySet( "Visible ",true);
2、第二个方法是直接使用TWordApplication控件,不管是单独的Form还是并入复杂的工程中均能正确打开Word程序,但是对其方法进行调用时遇到了几个字符类型转换的问题:
        BSTR*/BSTR               <-->   AnsiString
        WideString                         <-->   AnsiString
        wchar_t/wchar_t   *   <-->   WideString
        BSTR*/BSTR               <-->   wchar_t/wchar_t*

请各位帮帮我,尤其是第二个问题,现在是火烧眉毛啊,谢谢!

------解决方案--------------------
http://community.csdn.net/Expert/topic/5057/5057499.xml?temp=.5960657
------解决方案--------------------
你的第一个问题,这样试试,你可以结束WinWord进程,一般在调试的时候都要留要进程,只有运行完才能结束进程, WordApp = Variant::CreateObject( "Word.Application ");
vWordApp = Unassigned;
------解决方案--------------------
转换字符串很简单啊
AnsiString s;
WideString w;
wchar_t *wt;
char *t;
s= "Test ";
t=s.c_str();
w=WideString(s);
wt=w.c_bstr();