--
[ Picked text/plain from multipart/alternative ]
Ok guys ;) I'll change it, but I was wondering why it works 100% in debug
but works 0% in release.

On 3/30/06, Jay Stelly <[EMAIL PROTECTED]> wrote:
>
> Unless someone has defined a valid assignment or conversion path for
> this that I don't normally use you have to do this to your constant
> strings:
>
> >         sString = MAKE_STRING("Find the case!");
>
> at least that's why MAKE_STRING exists in the first place.
>
> It's not surprising that ConvertANSIToUnicode() would crash if these
> assignments were producing an invalid pointer.
>
> Jay
>
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of
> > Benjamin Davison
> > Sent: Thursday, March 30, 2006 10:50 AM
> > To: [email protected]
> > Subject: [hlcoders] Works in debug mode, does not it release mode.
> >
> > --
> > [ Picked text/plain from multipart/alternative ] Very weird
> > indeed, I'm working on some VGUI code and for some reason it
> > works in debug mode with the IDE attatched and fails to work
> > in release mode, and for the life of me I am stumped for a
> > soloution. Here is some code to see if you guys have run into
> > this problem.
> >
> > void CBBHudTaskList::Paint( void )
> > {
> >     // getting a pointer to the game rules
> >     CHL2MPRules *pRules = HL2MPRules();
> >     if ( !pRules )
> >         return;
> >     // local player
> >     C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer();
> >     if ( !pPlayer )
> >         return;
> >
> >     string_t sString = "";
> >     wchar_t unicode[256];
> >
> >     int x, y;
> >     int textSizeWide, textSizeTall;
> >     int iShown = 0; // number of lines shown
> >     int fontTall = vgui::surface()->GetFontTall( m_hLargeFont );
> >     int border = 20;
> >
> >     x = border / 2; // ScreenWidth() - border - textSizeWide;
> >     y = iShown * fontTall; // border + iShown * fontTall;
> >
> >     SetSize( 300 + border, 40 );
> >
> >
> >     if (pRules->m_bCaptureObjectActive == true)
> >     {
> >         sString = "Find the case!";
> >     }
> >     else if (pRules->m_bCaptureZoneActivated == true)
> >     {
> >         sString = "Get to this location and do something";
> >     }
> >     else
> >     {
> >         sString = "No mission selected!";
> >     }
> >
> >     vgui::localize()->ConvertANSIToUnicode( sString, unicode, 256);
> >
> >     // --- Set up default font and get character height for
> > line spacing
> >     vgui::surface()->DrawSetTextFont( m_hLargeFont );
> >     //vgui::surface()->DrawSetTextFont( m_hLargeFont );
> >     vgui::surface()->DrawSetTextPos(x, y);
> >     vgui::surface()->DrawPrintText( unicode, wcslen(unicode)
> > ); // print text
> >
> >     BaseClass::Paint();
> > }
> >
> > Now for some reason vgui::localize()->ConvertANSIToUnicode(
> > sString, unicode, 256); was crashing the release mode(not the
> > debug) if I put the buffer to 1024
> >
> > Have any of you guys run into this problem? Or can you see
> > some error I have overlooked?
> >
> > --
> > - Benjamin Davison
> > --
> >
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the list
> > archives, please visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >
> >
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>


--
- Benjamin Davison
--

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to