--
[ 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