Visual Studio 2022 Part3

レス数が950を超えています。1000を超えると書き込みができなくなります。
2023/07/09(日) 09:22:39.10ID:RX9cYl8RM
!extend:checked:vvvvv:1000:512
前スレ

Visual Studio 2022 Part2
https://mevius.5ch.net/test/read.cgi/tech/1657709270/

Visual Studio 2022 の新機能
https://docs.microsoft.com/ja-jp/visualstudio/ide/whats-new-visual-studio-2022?view=vs-2022

The Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/

リリースノート
https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-notes#
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
968デフォルトの名無しさん (ワッチョイ 47b3-j3nM)
垢版 |
2025/11/28(金) 12:09:55.78ID:AdDA4gRo0
>>963
DEBUGモードで問題なくコンパイル出来ていたプロジェクトをRELEASEモードでコンパイルしたらエラーが山ほどでてきた
例えば、SetDlgItemTextはSetDlgItemTextAではなくSetDlgItemTextWになってるよ
なんだかなあ
よくこんなのでみな使っていたね
VC++6.0では全く問題なく動いていたのにねえ
969デフォルトの名無しさん (ワッチョイ 47b3-j3nM)
垢版 |
2025/11/28(金) 12:10:53.67ID:AdDA4gRo0
間違えた >>964
2025/11/28(金) 12:13:28.92ID:x4NiH7NXM
MSのやる気がないしなるべくMultibyteは使わない方が良い
Multubyte限定のライブラリのバグを何年も放置した前科有り
2025/11/28(金) 12:15:32.27ID:x4NiH7NXM
>>968
それは設定が悪いだけな気がする
972デフォルトの名無しさん (ワッチョイ 47b3-j3nM)
垢版 |
2025/11/28(金) 12:20:54.49ID:AdDA4gRo0
>>971
DEBUGモードで問題なくコンパイル出来ていたものをRELEASEモードに変えたとき、どこかほかの設定も変える必要があるの?
VC++60ではそんなのなかったが
973デフォルトの名無しさん (ワッチョイ a75b-dXd3)
垢版 |
2025/11/28(金) 12:21:22.81ID:5vy0hP2H0
>>968
プロジェクトのプロパティでビルド環境をdebugとreleaseでチェックだよ
974デフォルトの名無しさん (ワッチョイ 47b3-j3nM)
垢版 |
2025/11/28(金) 12:27:48.91ID:AdDA4gRo0
>>973
わかった。RELEASEモードではUNICODEのままになってたよ。DEBUGモードとRELEASEモードとそれぞれ別々に設定しないといけないんだねえ
ありがと
975デフォルトの名無しさん (ワッチョイ a75b-dXd3)
垢版 |
2025/11/28(金) 12:34:27.76ID:5vy0hP2H0
>>974
そんなところで躓いてるとまだまだ先は色々あるよ
まぁがんばれ
976デフォルトの名無しさん (ワッチョイ 7fdc-Gjxk)
垢版 |
2025/11/28(金) 13:25:45.99ID:I/1lWP7z0
まあ頑張るのはじゃんじゃん頑張ってくれていいんだけどこのスレでやらないでよ
AI相手にコーティング教えてもらえば?
977デフォルトの名無しさん (ワッチョイ 47b3-j3nM)
垢版 |
2025/11/28(金) 13:45:10.81ID:AdDA4gRo0
SetWindowTextの問題はすぐに答えが出てくると思ったんだけどなあ
Multibyteでは1文字だけしか出てこないよ。わたしの質問はそもそもこれだけなんだけどね
2025/11/28(金) 14:26:12.41ID:g9K8s8X60
>>972
DEBUGとRELEASEで別々に設定があるとか昔からじゃがw

まぁ6.0はデフォがANSIだから意図的に変えようとしないとならんか
2025/11/28(金) 16:11:13.77ID:SsJh5WIk0
>>977
>>962が答えだから
2025/11/28(金) 16:14:12.20ID:PtF1oC/q0
>>977
ANSI関数にUnicode文字列渡したら1文字で切れるのは理解できるよね?
出来ないの?
981デフォルトの名無しさん (ワッチョイ 674f-f/ND)
垢版 |
2025/11/28(金) 16:23:46.74ID:lEyqtJjt0
プログラマに向いていないよ
転職しなさい
2025/11/28(金) 17:14:37.88ID:g9K8s8X60
>>968の最後の1行見ても自分が何も理解できてないだけなのに
まるで他人が無能のようにふるまうこの不思議ちゃんw
2025/11/28(金) 17:28:25.34ID:saUpZhFZ0
2026でC++のWindowsデスクトップウィザードで既定のテンプレートプロジェクト生成してやってみたが
プロジェクトのプロパティ含めて修正すべきとこ修正したら普通にABCDEになるよ

VSの問題だとかアレな事言ってるけど
結局自分がWin32APIの種類やコードマクロの中身を理解してないだけでしょ
2025/11/28(金) 17:32:13.60ID:saUpZhFZ0
本当に6.0でプログラムしてたのか?
テンプレートから生成されるコードを眺めれば、どこをどうすれば切り替え対応できるか
Win32API触ってれば当たり前の基礎知識部分しか関わってないんだけどなこれ
985デフォルトの名無しさん (ワッチョイ 47b3-j3nM)
垢版 |
2025/11/28(金) 18:01:22.16ID:AdDA4gRo0
じゃあ、改めて教えてください
VS2022でMultibyteでSetWindowTextで正しくウインドウのタイトルを表示させるにはどうすればいいですか?
VC++6.0では
SetWindowText( hWnd, "ABCDE" );
で問題なく表示できました。
2025/11/28(金) 18:15:41.11ID:saUpZhFZ0
2022でも2026でも同じ事だが、>>983で言ってるように
プロジェクトのプロパティの文字セットをUnicodeからマルチバイトに変更したうえで
コード内の関連個所すべて適切に修正しろ
そしたらSetWindowText(hWnd, "ABCDE")で動く
2025/11/28(金) 18:47:27.73ID:g9K8s8X60
VC++6.0では動いたww
相変わらず何も理解できてないなw
VC++6.0でも同じ状態のコード作れば同じ結果になるわ
2025/11/28(金) 19:10:40.47ID:SsJh5WIk0
>>985
新規作成したプロジェクトで
SetWindowText( hWnd, "ABCDE" );
これはどうなんの?
989デフォルトの名無しさん (ワッチョイ 47b3-j3nM)
垢版 |
2025/11/28(金) 19:26:12.17ID:AdDA4gRo0
>>988
新規作成したプロジェクトでデフォルトはUNICODEですが、プロジェクトのプロパティのCharacterSetをMultibyteに変えて、それだけで実行すると、
SetWindowText( hWnd, "ABCDE" );
では、ウインドウのタイトルにAだけしか表示されませんよ
2025/11/28(金) 19:32:08.28ID:saUpZhFZ0
アホな噛みつきしてないで>>986の通りやれ
もし>>986が理解できない、もしくはできたけどそれでなんで動くようになるのか分からないなら
VSがどうたらカバチ垂れてないで勉強しなおせ
2025/11/28(金) 19:42:59.02ID:SsJh5WIk0
>>989
その時
SetWindowTextAか
SetWindowTextWか
どっちが呼ばれてんの?
992デフォルトの名無しさん (ワッチョイ 47b3-j3nM)
垢版 |
2025/11/28(金) 20:16:24.12ID:AdDA4gRo0
>>991
SetWindowTextA です
993デフォルトの名無しさん (ワッチョイ a758-dXd3)
垢版 |
2025/11/28(金) 23:11:41.13ID:1eY1wF5H0
''ABCDE"を"あいうえお" にしてみ
2025/11/28(金) 23:37:20.76ID:rhdfC6VF0
テンプレートでプロジェクト作ったんだったらRegisterClassExWをRegisterClassExAにしないとダメなんじゃね?
https://learn.microsoft.com/ja-jp/windows/win32/winmsg/about-window-classes
2025/11/28(金) 23:51:36.65ID:DVmi/VhP0
>>989
テンプレートはUnicode用でMultibyteは考慮されてない
〜W系のUnicode版APIを使ってるとこを〜A系のmultibyte版APIに修正

>>969
MSは昔から早くUnicodeに移行しろってスタンス
今時Multibyteを使おうとする方が悪いまである
2025/11/29(土) 00:04:28.35ID:m0rb6ToR0
〜Aするんじゃなくて末尾にAもWも付かないのにしといた方が良いか
文字列は_Tマクロで
2025/11/29(土) 00:23:18.29ID:UB7+qwb10
2022だと.net10でプロジェクト作れねーのかよ
流石に勘弁してほしい
レスを投稿する

レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況