c++.stlsoft - resource_string
- Pablo Aguilar (1/1) May 21 2004 Is there or will there be a resource_string that's not dependant on MFC?
- Matthew (12/13) May 21 2004 There's basic_resource_string in winstl_resource_string.h, which is in t...
- Matthew (338/353) May 21 2004 I've done it, and added in unit testing (and tested it!). Here's a sneak...
- Pablo Aguilar (4/6) May 21 2004 Thanks!
- Matthew (3/10) May 21 2004 Pleasure. :)
- Ryan Ginstrom (35/35) Dec 11 2004 I have just starting using stlsoft, and I like it a lot.
- Matthew (13/47) Dec 12 2004 Great!
- Ryan Ginstrom (13/22) Dec 12 2004 I actually heard about stlsoft a while ago (I have version 1.6.5 sitting...
- Matthew (10/32) Dec 12 2004 Well, that's because I use it a lot, I guess. It's a much easier task to...
- Ryan Ginstrom (13/16) Dec 12 2004 hoping to get time to address that soon, but
- Matthew (14/50) Mar 21 2005 Ryan
Is there or will there be a resource_string that's not dependant on MFC?
May 21 2004
There's basic_resource_string in winstl_resource_string.h, which is in the inprogress directory. I've been using this myself a lot recently (in the shell extensions just updated at http://shellext.com) and will promote this to the main directory for 1.7.1. It requires a base string to use, e.g. std::string, and you can supply an exception policy type (otherwise it uses stlsoft::null_exception, which does not throw, and the string is just empty on failure). Beware that it does not yet work for UNICODE, but I will make this work before 1.7.1 (which I am hoping to release in the next few days ...). Good reminder! :-) "Pablo Aguilar" <paguilarg hotmail.com> wrote in message news:c8lk6v$r7m$1 digitaldaemon.com...Is there or will there be a resource_string that's not dependant on MFC?
May 21 2004
I've done it, and added in unit testing (and tested it!). Here's a sneak preview. Note: It does work with UNICODE. I was blowing hot air. ;) "Matthew" <matthew.hat stlsoft.dot.org> wrote in message news:c8lnhp$10ei$1 digitaldaemon.com...There's basic_resource_string in winstl_resource_string.h, which is in the inprogress directory. I've been using this myself a lot recently (in the shell extensions just updated at http://shellext.com) and will promote this to themaindirectory for 1.7.1. It requires a base string to use, e.g. std::string, and you can supply an exception policy type (otherwise it uses stlsoft::null_exception, which doesnotthrow, and the string is just empty on failure). Beware that it does not yet work for UNICODE, but I will make this work before 1.7.1 (which I am hoping to release in the next few days ...). Good reminder! :-) "Pablo Aguilar" <paguilarg hotmail.com> wrote in message news:c8lk6v$r7m$1 digitaldaemon.com...begin 666 winstl_resource_string.h M+RH +R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+PT*("H 1FEL93H M(" (" ('=I;G-T;%]R97-O=7)C95]S=')I;F<N:" H1F]R;65R;'D 35=2 M97-3='(N:#H .CI3>6YE<VES5VEN*0T*("H-"B J(%!U<G!O<V4Z(" ("!B M87D ,C P- T*("H-"B J($%U=&AO<CH (" ("!-871T:&5W(%=I;'-O;BP M4WEN97-I<R!3;V9T=V%R92!0='D 3'1D+ T*("H-"B J($QI8V5N<V4Z(" M(" H3&EC96YS960 =6YD97( =&AE(%-Y;F5S:7, 4V]F='=A<F4 4W1A;F1A M* T*("H (" (" (" (" ('=W=SH (" (" (&AT=' Z+R]W=W<N<WEN M(" :'1T<#HO+W=W=RYW:6YS=&PN;W)G+PT*("H-"B J(" (" (" (" M("!E;6%I;#H (" ("!S=6)M:7-S:6]N<T!W:6YS=&PN;W)G("!F;W( <W5B M;6ES<VEO;G,-"B J(" (" (" (" (" (" (" (" ("!A9&UI;D!W M(" (" (" (" (%)E9&ES=')I8G5T:6]N(&%N9"!U<V4 :6X <V]U<F-E M(&%N9"!B:6YA<GD 9F]R;7,L('=I=& ;W(-"B J(" (" (" (" ("!W M:71H;W5T(&UO9&EF:6-A=&EO;BP 87)E('!E<FUI='1E9"!P<F]V:61E9"!T M:&%T('1H92!F;VQL;W=I;F<-"B J(" (" (" (" ("!C;VYD:71I;VYS M*B (" (" (" (" 8V]P>7)I9VAT(&YO=&EC92!A;F0 8V]N=&%C="!I M9&ET:6]N<R!A;F0 =&AE(&9O;&QO=VEN9R!D:7-C;&%I;65R+ T*("H-"B J M(" (" (" (" (" H:6DI($%N>2!D97)I=F5D('9E<G-I;VYS(&]F('1H M:7, <V]F='=A<F4 *&AO=W-O979E<B!M;V1I9FEE9"D-"B J(" (" (" M(" ("!R96UA:6X =&AE('-O;&4 <')O<&5R='D ;V8 4WEN97-I<R!3;V9T M=F5R<VEO;G, ;V8 =&AI<R!S;V9T=V%R92 H:&]W<V]E=F5R(&UO9&EF:65D M*0T*("H (" (" (" (" (')E;6%I;B!S=6)J96-T('1O(&%L;"!T:&5S M92!C;VYD:71I;VYS+ T*("H-"B J(" (" (" (" (" H:78I($YE:71H M97( =&AE(&YA;64 ;V8 4WEN97-I<R!3;V9T=V%R92!N;W( =&AE(&YA;65S M(&]F(&%N>0T*("H (" (" (" (" ('-U8F1I=FES:6]N<RP 96UP;&]Y M*B (" (" (" (" ;F%M97, ;V8 86YY(&]T:&5R(&-O;G1R:6)U=&]R M(" (" 96YD;W)S92!O<B!P<F]M;W1E('!R;V1U8W1S(&1E<FEV960 9G)O M;2!T:&ES('-O9G1W87)E('=I=&AO=70-"B J(" (" (" (" ("!S<&5C M(" (" (%1H:7, <V]U<F-E(&-O9&4 :7, <')O=FED960 8GD 4WEN97-I M<R!3;V9T=V%R92 B87, :7,B(&%N9"!A;GD-"B J(" (" (" (" ("!W M87)R86YT:65S+"!W:&5T:&5R(&5X<')E<W-E9"!O<B!I;7!L:65D+"!I;F-L M=61I;F<L(&)U="!N;W0-"B J(" (" (" (" ("!L:6UI=&5D('1O+"!T M:&4 :6UP;&EE9"!W87)R86YT:65S(&]F(&UE<F-H86YT86)I;&ET>2!A;F0- M"B J(" (" (" (" ("!F:71N97-S(&9O<B!A('!A<G1I8W5L87( <'5R M<&]S92!A<F4 9&ES8VQA:6UE9"X 26X ;F\ 979E;G0-"B J(" (" (" M(" ("!S:&%L;"!T:&4 4WEN97-I<R!3;V9T=V%R92!B92!L:6%B;&4 9F]R M(&%N>2!D:7)E8W0L(&EN9&ER96-T+ T*("H (" (" (" (" (&EN8VED M96YT86PL('-P96-I86PL(&5X96UP;&%R>2P ;W( 8V]N<V5Q=65N=&EA;"!D M*B (" (" (" (" ;W( <V5R=FEC97,[(&QO<W, ;V8 =7-E+"!D871A M+"!O<B!P<F]F:71S.R!O<B!B=7-I;F5S<PT*("H (" (" (" (" (&EN M=&5R<G5P=&EO;BD :&]W979E<B!C875S960 86YD(&]N(&%N>2!T:&5O<GD M;V8 ;&EA8FEL:71Y+ T*("H (" (" (" (" ('=H971H97( :6X 8V]N M=')A8W0L('-T<FEC="!L:6%B:6QI='DL(&]R('1O<G0 *&EN8VQU9&EN9PT* M("H (" (" (" (" (&YE9VQI9V5N8V4 ;W( ;W1H97)W:7-E*2!A<FES M:6YG(&EN(&%N>2!W87D ;W5T(&]F('1H92!U<V4 ;V8-"B J(" (" (" M(" ("!T:&ES('-O9G1W87)E+"!E=F5N(&EF(&%D=FES960 ;V8 =&AE('!O M* T*("H +R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M"B-D969I;F4 7U=)3E-43%])3D-,7TA?5TE.4U1,7U)%4T]54D-%7U-44DE. M5$E/3 T*(R!D969I;F4 7U=)3E-43%]615)?2%]724Y35$Q?4D533U520T5? M24Y35$Q?5D527TA?5TE.4U1,7U)%4T]54D-%7U-44DE.1U]2159)4TE/3B M,0T*(R!D969I;F4 7U=)3E-43%]615)?2%]724Y35$Q?4D533U520T5?4U12 M3E1!5$E/3E]32TE07U-%0U1)3TX *B\-" T*+RH +R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M9B!?5TE.4U1,7TE.0TQ?2%]724Y35$P-"B, :6YC;'5D92 B=VEN<W1L+F B M(" (" (" (" (" ("\O($EN8VQU9&4 =&AE(%=I;E-43"!R;V]T(&AE M861E< T*(V5N9&EF("\J("%?5TE.4U1,7TE.0TQ?2%]724Y35$P *B\-"B-I M(R!I;F-L=61E(")S=&QS;V9T7W-T<FEN9U]T<F%I=',N:"( +R\ <W1L<V]F M=#HZ<W1R:6YG7W1R86ET<PT*(V5N9&EF("\J("%?4U1,4T]&5%])3D-,7TA? M0TQ?2%]35$Q33T947T580T505$E/3E,-"B, :6YC;'5D92 B<W1L<V]F=%]E M96YD:68 +RH (5]35$Q33T947TE.0TQ?2%]35$Q33T947T580T505$E/3E, M9SX (" (" (" (" (" (" O+R!S=&0Z.G-T<FEN9RP <W1D.CIW<W1R M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M4U1,4T]&5%].3U].04U%4U!!0T4-"B\J(%1H97)E(&ES(&YO('-T;'-O9G0 M;F%M97-P86-E+"!S;R!M=7-T(&1E9FEN92 Z.G=I;G-T;" J+PT*;F%M97-P M<W1L7W!R;VIE8W0 *B\-" T*;F%M97-P86-E('-T;'-O9G0-"GL-" T*;F%M M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M<FEE<PT*+R\O(%QB<FEE9B!4:&4 :6YD:79I9'5A;"!L:6)R87)I97,-" T* M+R\O(%QW96%K9W)O=7 ;&EB<F%R:65S7W-T<FEN9R!3=')I;F< 3&EB<F%R M>0T*+R\O(%QI;F=R;W5P(&QI8G)A<FEE<PT*+R\O(%QB<FEE9B!4:&ES(&QI M8G)A<GD <')O=FED97, 9F%C:6QI=&EE<R!F;W( 9&5F:6YI;F< 86YD(&UA M9W)O=7 5VEN4U1,(&QI8G)A<FEE<U]S=')I;F<-"B\O+R!<8G)I968 5&AI M<R!L:6)R87)Y('!R;W9I9&5S(&9A8VEL:71I97, 9F]R(&1E9FEN:6YG(&%N M+RH +R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\-"B J($-L87-S M+R!);G-T86YC97, ;V8 =&AI<R!C;&%S<R!R97!R97-E;G0 5VEN9&]W<R!S M=')I;F< <F5S;W5R8V5S+"!A;F0 87)E( T*+R\O(&-O;G-T<G5C=&5D(&9R M:&4 <W1R:6YG(&-L87-S+"!E+F<N('-T9#HZ<W1R:6YG+"!S=&QS;V9T.CIS M:69D968 7U]35$Q33T947T-&7U1%35!,051%7T-,05-37T1%1D%53%1?0TQ! M4U-?05)'54U%3E1?4U504$]25 T*(" (" (" L(" <W-?='EP96YA;65? M<&%R86U?:R!8(#T <W1L<V]F=%]N<U]Q=6%L*&YU;&Q?97AC97!T:6]N*0T* M04E44RD-"B\O(" (" (" L(" <W-?='EP96YA;65?<&%R86U?:R!4(#T M(" (" (" L(" <W-?='EP96YA;65?<&%R86U?:R!4(#T <W1L<V]F=%]N M<U]Q=6%L7W-T9"AC:&%R7W1R86ET<RD\0SX-"B\O(R!E;F1I9B O*B A7U-4 M3%-/1E1?3D]?3D%-15-004-%("8F("%?4U1,4T]&5%]324U03$5?4U1224Y' M14Y47U-54%!/4E0 *B\-"B (" (" +" ('-S7W1Y<&5N86UE7W!A<F%M M7VL 6" O*B ]('-T;'-O9G1?;G-?<75A;"AN=6QL7V5X8V5P=&EO;BD *B\- M"B\O(" (" +" ('-S7W1Y<&5N86UE7W!A<F%M7VL 0R O*B ]('-S7W1Y M<&5N86UE7W1Y<&5?9&5F7VL 4SHZ=F%L=65?='EP92 J+PT*+R\ (" (" M("P ("!S<U]T>7!E;F%M95]P87)A;5]K(%0 +RH /2!S=&QS;V9T7VYS7W%U M7U1%35!,051%7T-,05-37T1%1D%53%1?0TQ!4U-?05)'54U%3E1?4U504$]2 M93H-"B ("!T>7!E9&5F(%, (" (" (" (" (" (" (" (" (" M(" (" (" (" ("!P87)E;G1?8VQA<W-?='EP93L-"B\O(" ('1Y<&5D M968 0R (" (" (" (" (" (" (" (" (" (" (" (" (" M(" (" (" (" (" (" (" (" (" (" (" <W1R:6YG7W1Y<&4[ M(" (" (" (" 8VQA<W-?='EP93L-"B ("!T>7!E9&5F(% (" (" M(" (" (" (" (" (" (" (" (" (" (" ("!E>&-E<'1I;VY? M='EP93L-"B ("!T>7!E9&5F('-T;'-O9G1?;G-?<75A;"AS=')I;F=?=')A M(" (" (" (" (" (" (" (" (" (" (" (" ( T*(" ('1Y M<&5D968 <W-?='EP96YA;65?='EP95]K('-T<FEN9U]T>7!E.CIV86QU95]T M:6YG(&QO861E9"!F<F]M('1H92!G:79E;B!<8R!I9 T*(" (&5X<&QI8VET M(&)A<VEC7W)E<V]U<F-E7W-T<FEN9RAW<U]I;G1?="!I9"D =&AR;W<H97AC M97!T:6]N7W1Y<&4Z.G1H<F]W;E]T>7!E*0T*(" ('L-"B (" (" ;&]A M9" Z.D=E=$UO9'5L94AA;F1L92A.54Q,*2P :60I.PT*(" ('T-" T*(" M<F]M('1H92!G:79E;B!<8R!I9"!A;F0 7&, :&EN<W0-"B ("!B87-I8U]R M97-O=7)C95]S=')I;F<H2$E.4U1!3D-%(&AI;G-T+"!W<U]I;G1?="!I9"D M=&AR;W<H97AC97!T:6]N7W1Y<&4Z.G1H<F]W;E]T>7!E*0T*(" ('L-"B M(&)A<VEC7W)E<V]U<F-E7W-T<FEN9R F<FAS*0T*(" (" (" Z('!A<F5N M<W1R=6-T;W(-"B ("!B87-I8U]R97-O=7)C95]S=')I;F<H8V]N<W0 <W1R M:6YG7W1Y<&4 )G)H<RD-"B (" (" .B!P87)E;G1?8VQA<W-?='EP92AR M;W(-"B ("!C;VYS="!B87-I8U]R97-O=7)C95]S=')I;F< )F]P97)A=&]R M(#TH8V M(" (" ("!P87)E;G1?8VQA<W-?='EP93HZ;W!E<F%T;W( /2AR:',I.PT* M87-S:6=N;65N="!O<&5R871O< T*(" (&-O;G-T(&)A<VEC7W)E<V]U<F-E M7W-T<FEN9R F;W!E<F%T;W( /2AC;VYS="!S=')I;F=?='EP92 F<FAS*0T* M(" ('L-"B (" (" <&%R96YT7V-L87-S7W1Y<&4Z.F]P97)A=&]R(#TH M7W0 3&]A9%-T<FEN9RA(24Y35$%.0T4 :&EN<W0L(&EN="!U240L('=S7V-H M(" (" ("!R971U<FX .CI,;V%D4W1R:6YG02AH:6YS="P =4E$+"!B=69F M;F<H2$E.4U1!3D-%(&AI;G-T+"!I;G0 =4E$+"!W<U]C:&%R7W=?=" J8G5F M9F5R+"!W<U]S:7IE7W0 8V-H0G5F9F5R*0T*(" ('L-"B (" (" <F5T M=7)N(#HZ3&]A9%-T<FEN9U<H:&EN<W0L('5)1"P 8G5F9F5R+"!C8VA"=69F M97(I.PT*(" ('T-" T*(" ('9O:60 ;&]A9"A(24Y35$%.0T4 :&EN<W0L M('=S7VEN=%]T(&ED*2!T:')O=RAE>&-E<'1I;VY?='EP93HZ=&AR;W=N7W1Y M(&YO="!P;W-S:6)L92!T;R!L;V%D('-T<FEN9R!R97-O=7)C97, ;V8 /C(U M-BX 268 =&AA="=S( T*(" (" (" O+R!W<F]N9RP =&AE;B!N965D('1O M(&9I>"!T:&ES('1O('5S92!A=71O7V)U9F9E< T*(" (" ("!V86QU95]T M:&EN<W0L(&ED+"!S>BP =VEN<W1L7VYU;5]E;&5M96YT<RAS>BDI*0T*(" M;W!E<F%T;W( /2AS=')I;F=?=')A:71S7W1Y<&4Z.F5M<'1Y7W-T<FEN9R I M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M('L-"B (" (" <'5B;&EC. T*(" (" (" (" +R\O(%1H92!E>&-E M<'1I;VX ='EP90T*(" (" (" (" ='EP961E9B!E>&-E<'1I;VX ("!T M(" (" (" >PT*(" (" (" (" (" (&-H87( (" ;65S<V%G95LQ M=%]N<U]Q=6%L7W-T9"AE>&-E<'1I;VXI*&UE<W-A9V4I.PT*(" (" (" M<W1?;69C<W1L7W)E<V]U<F-E7W-T<FEN9RAU;FET=&5S=%]R97!O<G1E<B J M;FET=&5S=%]I;FET:6%L:7-E<CL-" T*(" (" ("!S<U]B;V]L7W0 (" M(" (" (" ("!B4W5C8V5S<R (" ](" =')U93L-" T*(" (" ("!U M;FET=&5S=%]I;FET:6%L:7-E<B ("!I;FET*'(L(")7:6Y35$PB+" B<F5S M8F%S:6-?<F5S;W5R8V5?<W1R:6YG/'-T;'-O9G1?;G-?<75A;%]S=&0H<W1R M8V5?<W1R:6YG/'-T;'-O9G1?;G-?<75A;%]S=&0H=W-T<FEN9RD^(')S;E]W M(" /2 ("TQ.PT*(" (" ("!I;G0 (" (" ("!I1V]O9" (#T (" M M,3L-" T*(" (" ("!F;W(H:6YT(&D /2 P.R!I(#P M"B (" (" >PT*(" (" (" (" <G-N7V%?=" (" <G-N7V%?,BAH M;G-T+"!I*3L-" T*(" (" (" (" :68H," ]/2!R<VY?85\R+FQE;F=T M:" I*0T*(" (" (" (" >PT*(" (" (" (" (" (&EF*"TQ(#T] M("!I0F%D(#T M(" (" (" (" (" <BT^<F5P;W)T*")R97-O=7)C92!S=')I;F< *&YU M;&P 97AC97!T:6]N*2!L96YG=& ;6ES;6%T8V 8F5T=V5E;B!!3E-)(&%N M9"!5;FEC;V1E(&EN<W1A;G1I871I;VYS(BP 7U],24Y%7U\I.PT*(" (" M(" (" (" (&)3=6-C97-S(#T M(" (" ('T-" T*(" (" ("!I9BAB4W5C8V5S<RD-"B (" (" >PT* M(" (" (" (" ='EP961E9B!B87-I8U]R97-O=7)C95]S=')I;F<\<W1L M<V]F=%]N<U]Q=6%L7W-T9"AS=')I;F<I+"!T:')O=U]E>&-E<'1I;VX^(" M("!R<WA?85]T.PT*(" (" (" (" ='EP961E9B!B87-I8U]R97-O=7)C M95]S=')I;F<\<W1L<V]F=%]N<U]Q=6%L7W-T9"AW<W1R:6YG*2P =&AR;W=? M/2!I1V]O9"D-"B (" (" (" ('L-"B (" (" (" (" ("!T<GD- M7W0 (" (')S;E]A7S(H:&EN<W0L(&E';V]D*3L-"B (" (" (" (" M(" (" <G-X7W=?=" (" <G-N7W=?,BAH:6YS="P :4=O;V0I.PT*(" M(" (" (" (" ('T-"B (" (" (" (" ("!C871C:"AS=&0Z.F5X M(" (" (" (" ('(M/G)E<&]R=" B<F5S;W5R8V4 <W1R:6YG("AS=&0Z M.F5X8V5P=&EO;BD 9F%I;&5D('1O(&QO860 :VYO=VX <F5S;W5R8V4 9G)O M=6-C97-S(#T M(" >PT*(" (" (" (" (" ('1R>0T*(" (" (" (" (" ('L- M"B (" (" (" (" (" (" <G-X7V%?=" (" <G-N7V%?,BAH:6YS M97-O=7)C92!S=')I;F< *'-T9#HZ97AC97!T:6]N*2!L;V%D960 :VYO=VX M:6YV86QI9"!R97-O=7)C92!F<F]M(%5315(S,B(L(%]?3$E.15]?*3L-"B M(" (" (" (" (" (" 8E-U8V-E<W, /2!F86QS93L-"B (" (" M(" (" ('1R>0T*(" (" (" (" (" ('L-"B (" (" (" (" M(" (" (" (" (" (" <BT^<F5P;W)T*")R97-O=7)C92!S=')I;F< M*'-T9#HZ97AC97!T:6]N*2!L;V%D960 :VYO=VX :6YV86QI9"!R97-O=7)C M92!F<F]M(%5315(S,B(L(%]?3$E.15]?*3L-"B (" (" (" (" (" M(" (" (" (" (" >WT-"B (" (" (" ('T-"B (" (" ?0T* M=&5S=%]R96=I<W1R87( (" =6YI='1E<W1?;69C<W1L7W)E<V]U<F-E7W-T M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+PT* M"B (" (" +" ('-S7W1Y<&5N86UE7W!A<F%M7VL 6 T*(" (" (" ^ M8V5?<W1R:6YG/%,L(% ^(&-O;G-T("9S*0T*>PT*(" (')E='5R;B H<RYL M>7!E;F%M95]P87)A;5]K(%,-"B (" (" +" ('-S7W1Y<&5N86UE7W!A M*&)A<VEC7W)E<V]U<F-E7W-T<FEN9SQ3+"!8/B!C;VYS=" F<RD-"GL-"B M97)S*2!O9B!<8R!S+" \8CX\:3YN;W0\+VD^/"]B/B!I;F-L=61I;F< =&AE M>7!E;F%M95]P87)A;5]K(%,-"B (" (" +" ('-S7W1Y<&5N86UE7W!A M;BAB87-I8U]R97-O=7)C95]S=')I;F<\4RP 6#X M(&]F('1H92!C;VYT96YT<R!O9B!<8R!S+" \8CX\:3YN;W0\+VD^/"]B/B!I M;&%T93P ("!S<U]T>7!E;F%M95]P87)A;5]K(%,-"B (" (" +" ('-S M95]T(&-?<W1R7W-I>F4H8F%S:6-?<F5S;W5R8V5?<W1R:6YG/%,L(% ^(&-O M;G-T("9S*0T*>PT*(" (')E='5R;B!C7W-T<E]L96XH<RD *B!S:7IE;V8H M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M<&%C92!W:6YS=&P-"B, 96QS90T*?2 O+R!N86UE<W!A8V4 =VEN<W1L7W!R M;VIE8W0-"GT +R\ ;F%M97-P86-E('-T;'-O9G0-"B, 96YD:68 +RH 7U-4 M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O ,+R\O+R\O+R J+PT* ` endIs there or will there be a resource_string that's not dependant on MFC?
May 21 2004
Thanks! I've just recently decided not to hard code strings anymore, and this is coming in real handy...I've done it, and added in unit testing (and tested it!). Here's a sneakpreview.Note: It does work with UNICODE. I was blowing hot air. ;)
May 21 2004
Pleasure. :) "Pablo Aguilar" <paguilarg hotmail.com> wrote in message news:c8ludf$1ar7$1 digitaldaemon.com...Thanks! I've just recently decided not to hard code strings anymore, and this is coming in real handy...I've done it, and added in unit testing (and tested it!). Here's a sneakpreview.Note: It does work with UNICODE. I was blowing hot air. ;)
May 21 2004
I have just starting using stlsoft, and I like it a lot. A note about basic_resource_string, though. The Unicode version uses LoadStringW, but that function does not work on Win9x. Below my sig is a method I use to ensure that retrieving resource strings as Unicode works on Win9x platforms, adapted from an MSDN example. -- Regards, Ryan Ginstrom ryang gol.com // Function name : resource2wstring // Description : LoadStringW returns NULL on Win9x, so we need this workaround inline wstring resource2wstring( const UINT uid, const HINSTANCE instance ) { UINT block = (uid >> 4) + 1; // Compute block number. UINT num = uid & 0xf; // Compute offset into block. HRSRC hRC = FindResourceEx( instance, RT_STRING, MAKEINTRESOURCE(block), MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL)); if ( hRC == NULL ) return wstring() ; HGLOBAL hgl = LoadResource(instance, hRC); if ( hgl == NULL ) return wstring() ; LPWSTR res_str = (LPWSTR)LockResource(hgl); if ( res_str == NULL ) return wstring() ; for ( UINT i = 0; i < num; i++) { res_str += *res_str + 1; } return wstring( res_str + 1, *res_str ); }
Dec 11 2004
"Ryan Ginstrom" <ryan ginstrom.com> wrote in message news:cpgjpd$11ps$1 digitaldaemon.com...I have just starting using stlsoft, and I like it a lot.Great! May I ask how/from whom you heard about it?A note about basic_resource_string, though. The Unicode version uses LoadStringW, but that function does not workonWin9x. Below my sig is a method I use to ensure that retrieving resourcestrings asUnicode works on Win9x platforms, adapted from an MSDN example.Ok. I'll check it out, and have a think about it. Assuming it's the go, how would you feel about my incorporating this into a future release? Naturally your input would be suitably credited. Cheers MatthewRegards, Ryan Ginstrom ryang gol.com // Function name : resource2wstring // Description : LoadStringW returns NULL on Win9x, so we needthisworkaround inline wstring resource2wstring( const UINT uid, const HINSTANCEinstance ){ UINT block = (uid >> 4) + 1; // Compute block number. UINT num = uid & 0xf; // Compute offset into block. HRSRC hRC = FindResourceEx( instance, RT_STRING, MAKEINTRESOURCE(block), MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL)); if ( hRC == NULL ) return wstring() ; HGLOBAL hgl = LoadResource(instance, hRC); if ( hgl == NULL ) return wstring() ; LPWSTR res_str = (LPWSTR)LockResource(hgl); if ( res_str == NULL ) return wstring() ; for ( UINT i = 0; i < num; i++) { res_str += *res_str + 1; } return wstring( res_str + 1, *res_str ); }
Dec 12 2004
"Matthew" <admin stlsoft.dot.dot.dot.dot.org> wrote in message news:cpidmd$2sut$1 digitaldaemon.com..."Ryan Ginstrom" <ryan ginstrom.com> wrote in messageI actually heard about stlsoft a while ago (I have version 1.6.5 sitting on my hard disk), but just recently started using it after reading your to take a closer look at the library, and I'm very glad I did. There is lots of great stuff in there, and it actually works! <g>I have just starting using stlsoft, and I like it a lot.May I ask how/from whom you heard about it?I don't mind all, but as I mentioned it is adapted from an MSDN example, not original. -- Regards, Ryan Ginstrom ryang gol.comBelow my sig is a method I use to ensure that retrieving resourcestrings asUnicode works on Win9x platforms, adapted from an MSDN example.Ok. I'll check it out, and have a think about it. Assuming it's the go, how would you feel about my incorporating this into a future release? Naturally your input would be suitably credited.
Dec 12 2004
"Ryan Ginstrom" <ryan ginstrom.com> wrote in message news:cpii35$30mp$1 digitaldaemon.com..."Matthew" <admin stlsoft.dot.dot.dot.dot.org> wrote in message news:cpidmd$2sut$1 digitaldaemon.com...Well, that's because I use it a lot, I guess. It's a much easier task to create a library that works when its author uses it. ;-) The one Achilles heal for STLSoft is the lamentable documentation. I am hoping to get time to address that soon, but it's always dragging behind new components, and new sub-projects (of which I have three planned for release soon: ACESTL, DbSTL, XMLSTL)"Ryan Ginstrom" <ryan ginstrom.com> wrote in messageI actually heard about stlsoft a while ago (I have version 1.6.5 sitting on my hard disk), but just recently started using it after reading your to take a closer look at the library, and I'm very glad I did. There is lots of great stuff in there, and it actually works! <g>I have just starting using stlsoft, and I like it a lot.May I ask how/from whom you heard about it?Understood. Thanks again. Feel free to post requests/bugs/criticisms here, or email them to me directly. Cheers MatthewI don't mind all, but as I mentioned it is adapted from an MSDN example, not original.Below my sig is a method I use to ensure that retrieving resourcestrings asUnicode works on Win9x platforms, adapted from an MSDN example.Ok. I'll check it out, and have a think about it. Assuming it's the go, how would you feel about my incorporating this into a future release? Naturally your input would be suitably credited.
Dec 12 2004
"Matthew" <admin.hat stlsoft.dot.org> wrote in message news:cpin60$4mg$1 digitaldaemon.com...The one Achilles heal for STLSoft is the lamentable documentation. I amhoping to get time to address that soon, butit's always dragging behind new components, and new sub-projects (of whichI have three planned for release soon:ACESTL, DbSTL, XMLSTL)Documentation would be nice (as would a good XML parser/writer). I am no one to talk though, being rather poor at writing documentation myself. Luckily though, the various classes can generally just be dropped in and used without too much fuss. I just checked out the resource_string implementation because I have been bitten by this problem before. -- Regards, Ryan Ginstrom ryang gol.com
Dec 12 2004
Ryan I've finally incorporated this. Sorry for the delay. It'll be in 1.8.3 beta5, which will probably be sometime this week or next. When you get a chance, it'd be great if you can check it out on 9x. I've tested it by 'pretenting' to be 9x on XP, but some finite doubt remains until it's tested on a real 9x system. Thanks again for the insight. I've mentioned you in the (winstl_resource_string.h) file header, and also in the Doxygen stuff. I've amended the copyright to now say: * Home: http://stlsoft.org/ * * Copyright 1994-2005, Matthew Wilson and Synesis Software * Copyright 2004-2005, Ryan Ginstrom Cheers, and thanks again Matthew "Ryan Ginstrom" <ryan ginstrom.com> wrote in message news:cpgjpd$11ps$1 digitaldaemon.com...I have just starting using stlsoft, and I like it a lot. A note about basic_resource_string, though. The Unicode version uses LoadStringW, but that function does not work on Win9x. Below my sig is a method I use to ensure that retrieving resource strings as Unicode works on Win9x platforms, adapted from an MSDN example. -- Regards, Ryan Ginstrom ryang gol.com // Function name : resource2wstring // Description : LoadStringW returns NULL on Win9x, so we need this workaround inline wstring resource2wstring( const UINT uid, const HINSTANCE instance ) { UINT block = (uid >> 4) + 1; // Compute block number. UINT num = uid & 0xf; // Compute offset into block. HRSRC hRC = FindResourceEx( instance, RT_STRING, MAKEINTRESOURCE(block), MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL)); if ( hRC == NULL ) return wstring() ; HGLOBAL hgl = LoadResource(instance, hRC); if ( hgl == NULL ) return wstring() ; LPWSTR res_str = (LPWSTR)LockResource(hgl); if ( res_str == NULL ) return wstring() ; for ( UINT i = 0; i < num; i++) { res_str += *res_str + 1; } return wstring( res_str + 1, *res_str ); }
Mar 21 2005