古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止]©2ch.net
最後の行だけ改行コードがついてないテキストファイルがあって
それを読みながら修正などしながら、別ファイルに書き出すという処理で
最後の行には、どうしたって改行コードがついてしまうよね そこは工夫の問題じゃない?
最初だけ改行なしでWrite、次からは改行+Writeでも良い。 全て書出し終わったファイルをバイナリで再度開いて末尾の0D0Aだけ削除 なるほどー
「まずバイナリでファイル末尾の改行の有無を判定する
末尾に改行なしなら、2行目以降は、改行コードを頭に付けて出力する」
ありがとうございました
自分にない発想に出会うと感動しますね
数年前に阿修羅で出会った感動の書き込みを紹介しますと
「日米戦争はイカサマだった→東京裁判は昭和天皇が進駐軍にやらせたものだった」
これにはぶっ飛びました
自分では色々考えたつもりでも、それは所詮自分の殻の中の世界であって
真実に到達できていない可能性があるんだと思い知らされました >>419
周りが馬鹿やめろよと思っていることに気付かない人かな こういうのをおかしくないと思うような頭だからまだVBなんかを平然と使うのかね 2発の原爆のうちの
広島の方は天皇原爆だったという話だよ VB6.0を現代的なOSで動くようにしたら需要あるだろうか? >>429
実際に求められてるのって実はその辺だと思う
最近の言語は進化が作成者のオナニーになっているというか
素養のない一般の人(だが仕事で必要)には
VBAレベルが限界だと思う
OfficeのVBAがVB6ベースでも世の中そんなに困ってない だよね
Windowsにしても買い替えさせるために不要な変更を行ってる
というか改悪している VB6でクラスライブラリをビルドしてるんだけど、
1)Constみたいな定数を実装する方法は無いのかな?
2)Optional ByRef引数の指定が省略されたかどうかを、その関数内で判定するのはどうするのがいいだろ? >>432の補足
ActiveX DLLとしてビルドして、外部プロジェクト(VBA)から利用しようとしている
1)外部プロジェクトからConstみたいに参照できる定数をActiveX DLLに実装できないか VBSで、ウインドウハンドルを持たないボタンを安定して押す方法ってあります?
SendKey連打で切り抜けられるものもありますが、
→→↓↓Enterとか、必殺技コマンドみたいなのが必要な状況では、いまいち安定しません。
5秒待つとかダルいですし、そんなに待ってもダメな時もありますし・・。
もしくは、JSでもいいんですけど。 >>432
1.
Property Getだけ用意する
2.
IsMIssingてのがあるけどまずありえない値を初期値にしおく
http://www.openreference.org/articles/view/239 >>434
ブラウザ上のボタンはどうやって押すんだろね
分からんのでUWSC使ってる
UWSCはハンドルじゃなくてプロセスIDと座標を使ってるから
SendMessageじゃないAPIがあるんじゃないかと思う >>436
ブラウザは、IEで、htmlで書かれている部分ならgetElementsByXXXXという関数で簡単に押せます。
ダウンロード通知バー内のボタンが難しい。 VBSじゃなければUIAutomationかAccesibilityでいけるんだが、VBSだと難しいかも。
>>436
webの話なの?
それならVBSでもいけるでしょ。
それからUWSCはAccesibility使えた筈。 VBSじゃなくて良いならPowerShellでUIAutomationは使える。 >>435
ありがとう。
2)
IsMissingなんて使ったことなかったw
まさにVariant型で配列を渡す引数だったし、良さそう
VBAでは初期値NullにしてIsNullで判定してたけど、VB6だと引数初期値Nullでコンパイルエラーになるから困ってた
1)
Optional引数の初期値には指定できなさそうだ
現在、InstancingプロパティをGlobalMultiUseにして、Publicメンバ変数にして、Initializeイベントで初期化してるんだけど、これもOptional引数の初期値には出来ない >>429
需要ある
VBAのライブラリ開発では重宝してる。
VSTOみたいにバージョン相性もないし、ほぼそのままユーザフォームを含むVBA資産を再利用できるし。
現行では、いちいちファイル保存先を指定したり、ビルド先を指定したり、インターフェースの機能構成が不便だ。
あと勝手にレジストリにDLLが登録されるのはどうにかして欲しい(管理者権限を付けないで起動すれば登録されないけど) >>441
そんなあなたに
https://eijiman.com/windows10-vb6-runtime/#Window10VB6
Microsoftによって機械翻訳された内容ですが、次の記載があります。
VB6 ランタイムは Windows 10 に付属し、その OS の有効期間にわたってサポートされます。
出典:Visual Basic 6.0 のサポートに関する声明 | Microsoft Docs
つまり「Windows10でVB6ランタイムが継続的に実行できるようにサポートし続けていく」ということになるのでしょう。 >>441
VBAのライブラリをVB6で作って意味あるの?w
UI以外はVB6で書けるならVBAで書けるでしょw
それにVSTOの代替にはならんでしょ つーか、20年前に死んでる開発ツールをなぜまだ使うのw
もういい加減成仏させてやろうよ >>443
「ライブラリ」の意味も分からん中卒無能は黙っていろ >>446
ライブラリはオフィスだけでも作れるんだけど....
むしろVB6ランタイムに依存するライブラリをわざわざ使う意味が分からん。
上にも書いたが、UI以外はできることは同じなんだけど > むしろVB6ランタイムに依存するライブラリをわざわざ使う意味が分からん。
VB6ランタイムに依存することが
何のデメリットになるのかわからん >>447
>ライブラリはオフィスだけでも作れる
どういう実装形態を言っているのか?
ワークブック参照とか言い出すんじゃないだろな? >>438
VBSでもExcel経由でAccessibleObjectFromWindowが使えそうなんですが、
どうやってIID_IAccessibleを渡せばいいかわからないんです。
IID_IDispatch(?)を試そうとしたら、今度はStrPtr関数が使えないという。 win10でVB6使ってるけど
フォーム上に配置したコントロールを複数選択して移動すると
ヌルヌルして時間かかるよね
ま、問題ないけど >>453
VB6でコントロールの編集が重い場合
デスクトップ コンポジションを無効にしないとデザイン画面が重い。
1.コントロールパネルで「パフォーマンス」を検索
2.パフォーマンスの情報とツール
3.視覚効果の調整→視覚効果タブ
4.カスタム内の[デスクトップコンポジションを有効にする]のチェックを外す コントロールパネル
→システム
→システムの詳細設定
→「詳細設定」タブ
→パホーマンス
→カスタム
このチェックボックス付きリストの中に
「デスクトップコンポジションを有効にする」はありませんでした
Win10 Homeだからかもしれません
元々アニメーション表示のような「効果」は大嫌いなので、ほとんどOFFにしてましたが
全部OFFにしても変わりありませんでした
でもまぁWin10でコンパイルできるだけでも御の字
お手数をおかけしました DOS窓では上手くいくのに、VB6から以下を実行するとうまく動きません。
何がいけないのでしょうか?
Shell "powershell start-process cmd -ArgumentList '/c bcdedit /set TESTSIGNING ON'-verb runas & shutdown /r /t 0", vbHide TESTSIGNING ONの後のスペースが抜けてましたが、相変わらず動かない・・・。
powershell start-process cmd -ArgumentList '/c bcdedit /set TESTSIGNING ON' -verb runas & shutdown /r /t 0 DOS窓で動くけど、VB6からは動かないと言ったら
昔ならDOS時代のカレントフォルダ上で動くアプリだからってことだったけど
パワーシェルとかわからん VBからShellでPowerShell呼び出して何かを動かすの?
ピタゴラスイッチみたいなことするね。
普通にプログラミングしてる奴なら気持ち悪いとか、かっこ悪いと思うんじゃないかな。 世の中使えるソフト屋と使えないソフト屋といるだろ?
気にならないということはつまりそういうこと VBのコード編集画面てWin10でカーソル太く設定しても変わらないんだ
しかも点滅が5秒で終わるしバカじゃなかろかWin10 ピクチャの高さを設定して、設定できたか確認する
Picture1.Height = 50
Debug.Print Picture1.Height
巨大なピクチャはメモリの都合か、設定できないのは知ってるんだけど
こういう小さいピクチャでも設定できないケースがあるというのは、
どういうことが考えられるでしょうか
Picture1.Refreshを入れてもDoEventsを入れても変わらず
Win10です PowerShellねえ
Windows API利用する方法探る方が良い様な >>440
初期値Nullなんて止めとけ
属性でMAX値設定する方が固い 画面だけVBで裏ではコンソールアプリ動かすなんてよくやってたから違和感ない VB6のFormat 関数の和暦変換
レジストリの和暦データ見るようになったよね つまり今まで見てなかったのか?
VB6のランタイムに何か修正あったのか? 最初からこうなることがわかってたら独自実装のFormat作らなかったのに。遅いねん MS も公にはVB6 対応しまーす
とは言いにくかったんでしょう 今のままでは令和に変換できなかったってこと?
で、今後は改元に対応するようにランタイムが修正されたと。 Windows10(64bit版)、Jet4.0(DAO3.6)でSQL文(OpenRecordset"SELECT...")を実行すると
まれにフリーズ(応答なし)になるの何で?
同じプログラムでもWindows7(32bit版)だとフリーズせず結果が帰ってくる 地元でVB6→VB.NETへのマイグレーション案件有るんだが
移行が一足飛びで出来ない事実を知って炎上必須っぽいので様子見 Win10のmsvbvm60.dllのタイムスタンプは2018年になってる
天皇の生前トンズラが分かった時点でレジストリを見るように対応したってことだろうか 自分用のメーラー作ってるんだけど
BASP21使ったことある人いる?
RcvMailとRcvMail2があって、それぞれSAVEコマンドがある
どう違うの?
コールバック関数で処理を中断できるようにした2を後から追加したってことなのか Windowsには、標準でVBのコンパイラが入ってるそうだけど、
GUI作るときはどうすんの? >>478
標準でVBのコンパイラについてはよく知らないけど、GUIはWin32APIだけで出来ることは出来る。 >>481
それ、VB6.0で通用する要素0に見えるんだが。 う〜ん、普通にVSでGUI作って、
コンパイルだけ標準コンパイラって無理かな? ニュー速+でwin10アップデートするとVB6/VBA全滅するってスレ立ってたけど、こっちは静かだな。 それは知らなかった
おれはバリアント型の配列を使ったことが無いから無事だっただけか
しかしWin10はおかしいな
毎月、システム丸ごと入れ替えてるんじゃないかと思うほど大変更をして
メモ帳の仕様を変更しましたとか、誰も望んでいないようなことを言う
絶対なにか企んでるよな >>487
1. この程度の変更は普通
2. ユーザーの要望を受け付けてる
3. メモ帳の変更は1809で人気第二位になった機能
https://insider.windows.com/ja-jp/community-news/windows-insiders-vote-for-their-favorite-features/
#2 ? A better Notepad
WSLの素晴らしさは開発者ならだれでもそう思うし、
WSL=Linux対応に関連するメモ帳の機能強化は当然の結果。やらないほうがおかしい。 この程度の変更は普通って誰基準で普通などと言うのか
Win10を出して何年経ってるんだ
毎回広範囲な変更しやがって
試行錯誤でユーザーに試験させている
サービスで言うと毎回20サービスくらい変更している
一向に収まる気配なし
どんだけ完成度低いんだ
UIは子供が作ったようにメチャクチャだし >>Variant型配列
セキュリティ上宜しく無いと言う話
何でも受け入れるVariant型は確かに問題有る まあ古代VBプログラマの板に来る奴なんて保守派だよな
設定アプリとコントロールパネルをいい加減統一して欲しい
ついでに言えば管理ツールも >>489
> Win10を出して何年経ってるんだ
> 毎回広範囲な変更しやがって
イミフ。1ヶ月で広範な変更したら怒るだろ?
何年も経ってるんだから、そりゃ最初に比べれば
変更は多いだろうさ 普通ならそのレスが何を言いたいのかはっきりわかるはず うん。>>489が実は何も困ってないのに
文句だけ言ってるってことはわかるよw RmDir直後にMkDirしたら「ファイル名または番号が正しくありません。」になるのやめてくれ メモ帳でテキストを作っったら
プログラムから正常に読めなくて悩んじゃったよ
時代は変わっているのじゃのう BOMかな
なんでデフォルトがありなんだろうね
今無い方が主流だよね 今のメモ帳はBOMなしUTF-8がデフォだよ
>>497
Windowsは複数の文字コードに対応している。
その文字コードを正しく認識するにはどうしてもBOMが必要になる。
例えばShiftJISとBOMなしUTF-8を完全に見分けることは不可能
ASCII文字しか書かれてないファイルはShiftJISとしてもUTF-8としても正しい
そこに日本語文字を追加する時どちらで追加すればいいかなんてわからない
LinuxはUTF-8(正確にはLANGで設定されたもの)が基本です。
他の文字コードは知りません。とアクティブな文字コードを一つに限定した。
一方Windowsは過去の文字コードも考慮しつつ、同時にUTF-8に設定を変えることなく
対応することにした。その互換性に関する考え方の違いからそうなった。 Unicodeの最大の成果は「固定長の文字コードとかあり得ない」という事が明らかになったこと いまからVB6の開発環境を作るためにはどうしたらいいでしょうか?
VisualStudioサブスクリプションに含まれていますか? VS6をヤフオクで買えば
いやVB6だけ買えばいいか
Win10でも動くよ >>501
Visual Studio SubscriptionsにならVisual Basic 6.0 Enterpriseあるで。 久しぶりにVB6を導入しようとしたらMSDNライブラリディスクを紛失してしまいヘルプが開かない
VB6開発環境導入済みのPCからヘルプライブラリをコピーしただけではF1どころかCOLファイルも開けなくて困った
もちろん私の事だから解決できましたけどね >>504
> MSDNライブラリディスク
2年間で何セットか送ってきてて最後のを入れるようにしてたけどオンラインにもあるんだよね
無いんだっけ? >>505
ある時期以降にサブスクリプションで送られてきたMSDNライブラリは使えませんでした
身辺整理のために古いディスクを大量廃棄したのですが、その時にVB6本体ディスクだけあれば良いと思ってしまいました オンラインには英語のライブラリだけはありますが、IDEからF1で引っ張れないし使いずらい サブスクリプションを解約してすぐ必要になるというのは皮肉なものです MSDNライブラリ日本語版が取れないのは痛いですね
https://馬ちゃん.com/Agent/index.html >>510
英語版で良ければVisual Studio 6.0とMSDN Libraryの両方が揃いますね
日本語版Visual Studio 6.0と英語版MSDN Libraryでは不整合になると思います ああ、マイナーなやり方を調べている時に、よく出てくる人ね。
何者なのかと思っていたが。 >>512
お前、よっぽどレベル低いんだな。
魔界の仮面弁士さんを知らないとはw
この20数年の間、VB界隈で日本で1番の大物だぞ。
VB6.0、VBA、VB.netで上級者を自認する者達で、彼にお世話になってない奴なんていないだろう。 恥ずかしい人には恥ずかしいファンが付くんだな、としか思わないと思うよw
デーモン小暮を連想させるね 自分よりレベルの高い、明らかに手が届かない人を叩きたくなる心理は
劣等感や反骨精神旺盛な人に見られるそうだが
該当するだろうか? 叩いてるのは明らかに手が届かないとすら分からないレベルだと思うよ。
ある程度のスキルが有れば手が届かないと思っても憧れるだろ。 >>518
ネットではリアルと別人格になる人が多いものです
憧れも匿名の世界では邪悪な憎しみや妬みに変わることは珍しくありません >>516
デーモン小暮は立派な人物だぞ
「神」が人間に戦争させてきた
「日本の神」は京都大学に原爆を開発させ広島で自爆させた
広島に住んでいたデーモンは、神こそ人類の敵だと知った
それを伝えたいための悪魔のキャラだったが
伝わらなかったと嘆いていたよ >>520
高校が俺と同じ横浜の桐蔭学園だからな
俺より成績が少し悪くて違うクラスだったがよく知ってた
アイツは早稲田へ行ったが俺は筑波大学へ行った
違う人種で良かったと思うわ 変なの発見した
VB6、ブラウザ:クローム @Win10だけど
デザイン時のフォーム上で、マウスによる範囲選択の要領で
マウスボタン押したままマウスをグルグルと動かしていると像が浮かび上がって来る
ブラウザ上の映像に違いないのだけど、今表示しているページとは違う 昔からある「Wingdings」という絵文字フォントが
ボタンのキャプションにすると便利そうだと、今さら気付いたんだけど
実際に使ってみると、Win10の文字コード表とちょっと違うところがある
具体的には、コードで&h81から31文字、&hE0から29文字が使えない
そこに矢印とかチェックマークとか使いたいのがあるのに
なんで使えないのでしょう VBでもうちょっとかっこいい画面作れないんですかね。visual srudioの共通?コントロールださすぎ。 プログラムでSQL作る箇所?、一つの変数に項目やらウェア句やらを代入してSQLを
作る箇所を書くのが、(インシデントの調整等)毎回めんどくさいなと思っていたから、
テキストボックスにSQLを書くと、自動でSQL作る箇所を作ってくれるプログラムを作ろうと
一瞬思ったけど、画面がダサくて作る気失せた。 ほんと過疎スレですね。語られさえしない言語ですやん。 ワンポイントレッスン
FileCopyは属性はコピーされない ボタンの上にピクチャが被せてあって
ピクチャはクリックされると、簡単な処理をして消すんだが
下のボタンにもクリックイベントが発生するな
おかしいよWin10 知恵袋とマルチですまん。
検索エンジンで ”VB6 ダイエット”と検索するとVisualBasic6に関してのHPとダイエットに関するHPがストライプ状に、
無茶苦茶に入り混じったHPがいくつも候補にあがるのですがこれはハッカーがトロイを仕掛けて開発コードを盗み取るための罠でしょうか? >>534
おそらく、あなたが作成したブログ群では? >>535 いやいや、ブログとかそういう感じじゃなくてHPのメイン部分のソースがクシ状にされて
VBの有名どころのHPとよくわからないダイエットHPが合体しているんですよ。
普通は壊れたHPは検索エンジントップに上がる事はすくないのにいくつもあがっているんです。
vb6 ダイエットというVB6のソースをスリム化する新しいソフトができたのかと思っていくつも開いてしまいました。
で、怪しい広告の攻撃にあったわけです。 VB6とは何の関係もないVB6ダイエットのHPばかり見つかるけど。
と思ったがスマホで検索するとたくさん出てくるなw
多分、検索されてるワード集めて、それを組み合わせてぺージ自動生成してるんだろうな。
詐欺メールと同じやりかたなんだろう。 VB6ダイエットって何だよ。
柔道カラオケみたいなものか? >>538
いや、略が違う。
VB6と言ってもVはヴィーガンとか。 自作アプリから、とある動画変換アプリにファイルをドロップしても受け付けない
エクスプローラからドロップした場合とどこが違うのかと思って調べたら
ドラッグ&ドロップのEffectにCopyとかMoveとか、
ヘルプには4種類のモードが載ってるんだが
エクスプローラは「7」を出していた
いつの間にか新しいモードが追加されてたようだ Office2010終了で、2019へ乗り換えたら、Excelの起動に失敗することが増えてきたんですけど考えられる原因ってなんなんですかね
ActiveX.EXE(本件ではExcel)からの応答時間の調整とかあるんでしょうか
現在Sleepを入れて待たせると動くことが多いので、それで対処しています
SKYSEAとかも嫌な挙動してそうなかんじはします VB6でのシステム開発は流石に厳しくなって来たね
VB6→VB.NETマイグレーション案件もちらほら見かけるし
Delphi同様にもうダメなプログラミング言語なんだろうな >>546
VB6の新規案件って無いよ
メンテぐらい VB6アプリのスクロールバーがおかしくなる現象が発生中!
今週のwindows updateが原因か!? >>549
いくつか不具合のあったけど、今のところ互換モードにして回避できてるよ
無難なXpのSP3指定している
Win10は7や8よりは互換性があって良かったのに、最近のアップデートは影響が出てきてる感じだね
7の時は開発環境で文字化けしてコードが変わることがあった 今更だけど、TextBoxなどはUnicodeに対応しているの?
自分が使ったときは文字化けしましたorz 最近VB6.0→VB.NETマイグレーション案件増えて来たね >>552
なにかあったのかな
それにしてもVB.NETマイグレーションか
C#にしておけばよいものを >>553
流石にVB6.0じゃセキュリティ的に問題だからでしょ
今はVB.NETでも良い
C#のみで出来る事も限られる あるツイート
ただ、仕事のシステムリプレース案件で、マイグレーションの名のもとに VB 6→VB .NET 自動コンバート手法を採用するのは本当にやめてほしい。 予算と工数の関係もあって、上層部は簡単に考えているようだけど、結果的にメンテナンスが大変になります。 きちんと費用をかけてマイグレーションすべき。 リプレース案件でまともに書かれたVB6のコードを見たことがない >>557,558
自動的にコンバート出来ると思ってるんだろ
VB6→VB.NET2008→VB.NET最新のしないと移行出来ないからな いよいよVB6も終わるのかよ?
VB6しか使えないサンデープログラマは終わりか。 >>559
そのコンバータも出来が悪いからな
マイクロソフトはマイグレーションソフトウェアにもっと投資してほしかった >>560
既にセキュリティ的には終わってる
本来VB.NET2008ぐらいの時期にはVB.NETに移行すべきだったよ >>562 そうなんですね。よくセキュリティーの問題云々って言った発表があるけど
攻撃にされて実害にあう可能性ってどのくらいなんだろうね。
今でも毎営業日Xp上のVB6で作ったアプリで金融取引してるよ。
それよか次世代Windows出すとのアナウンスがあったようだが最後だと思ってWin10に乗り換えたのに騙された気分だわ。
次はVB6のIDEは動かないんだろうね。office2000も。 >>563
Win7になった時ぐらいからIDEの挙動がおかしいこともあったけど、Xpモードの環境をそのままWin10でも使ってるよ
古いファイルのメンテナンス用にOFFICE2003も入れてる
会社ではOSを単独で購入したライセンスが少なくて、クライアント環境で使うのはちょっと無理だけど開発環境ではサブスクリプションで導入してたからそのまま使ってる
VisualStudioのサブスクリプションで未だに古いOSって入手可能なんだっけ? 開発環境は仮想マシンのXPでIDEにはMZ-Tools等をてんこ盛り、コントロールはMS製を極力排除して、VBCCRとVBFLXGRIDで置き換えて、他に必要ならVCで自作、サブクラス化にはThe Modern Subclassing Thunk、UMMMでmanifest作成、インストーラー作成はWIX Toolsetが今VB6で作る者の標準だと勝手に思ってる。 >>566
それ気になってて色々と検索してるけど、まだ確かな情報が見つからない・・・。 >>565
そこまでしてVB6.0に拘泥することはないと思うわ VBAが切り捨てられない限り保証されないまでも動くには動くんじゃね? >>569
おー、Windows11でも動きそうですね。
https://www.youtube.com/watch?v=J-u_qCEsrmU
でもGoogleの翻訳で訳してみたら動いたと書いてるようなので、おそらく大丈夫かな?
自分の公開しているソフトもあと数年は延命できそうだw Windows11では Internet Explorer が廃止されるのが一番問題なんだよねー。
CreateObject("InternetExplorer.Application")
からWebページへの自動入力などの操作も行ってるんだけど、これらが出来なくなる。
Edgeで同じことをやろうとするとかなり難しそう。何か良い方法がないものか・・・? Edgeには一応IEモードが付いているけど
実際IE使われてるシステムでそれ使っても結構キツそうな感じだった
後、VBが終わっても出来ればVB.NetじゃなくC#をやるようにした方がいいよ
文法以外はそんなに変わらないしVB.Netは.Net Coreからも.Net Codeからも外されている。
もうあまり先がない言語なんだよ。 Ruby on Rails のテストツールなら、
Selenium Webdriver, Capybara, Nokogiri など
静的なサイトなら、curl でも良いけど、
JavaScript で動的に作られるサイトなら、
Selenium Webdriver で、ブラウザそのものを操作しないといけない Selenium Webdriver や curl などですかー。名前を聞いた程度の知識しかないので、
IEに替えてEdge等で実行させようと思ったら、自分にはやはり敷居が高そうです・・・。
一般公開してるソフトで不特定多数のユーザー環境で実行してもらうのに
最適だと思われるのはどれが良いと考えられるでしょうか? (勉強してみます)
ユーザーにインストールしてもらうプログラムや設定変更等が、出来るだけ少ない方がいいもので・・・。
ユーザーが実行する操作は、Webページへの注文入力 (例. 株や馬券みたいな) がメインです。 >>578
ヒントとなるキーワードを有り難う。調べてみます。
しかしIEが廃止になることで、こんな面倒なことになるとは・・・。簡単に出来てたのに。 なにを盛り上がってるのかと思ったら
>>569のことか
みんな危機感持ってるんだな
VB7を出してくれるといいんだが >>568
いやー、デカくて予算も出ない大規模なVBプログラムのメンテしてるんで、拘る必要はある。 専門職でない人には.NETは敷居が高すぎる
これはたぶん世界の多くの人が思っているはず
自分の仕事は別な分野にあって、そこでVBを利用してきた人は古代VBの復活を待っている Windows11にVB6の開発環境をインストールしてみた
Windows10の時と同じようにやれば問題なく導入できビルドもできる
画面のRedraw問題もそのまま継承してる
ランタイムも入っているので実行時も問題ない VB6発売当時を知らない世代だけど、ググってみたら、DOS時代からデザイナあったのね。
DOS = CUIって印象だったから、今更ながら衝撃受けた。
https://www.cloudwisp.com/exploring-visual-basic-1-0-for-ms-dos/ >>584
Windows11も10と変わらないようだね、良かった。
時代はスマホが主流になって、新らたにVBソフトを作り替えるのも採算合わないから、
このまま行けるとこまでいって、ダメになったら終わりにしようと考えてる。 ここ数か月くらい、Window10が日本語入力処理を色々と変更していて
タスクマネージャーを見ても「IME」というプロセスは無くなって
別のものに置き換えられているのが分かる
その関係に違いないんだけど、VB6のテキストボックスの日本語変換がちょっとおかしい
「今日は」と打つときに,、漢字モードで
「kyou(SP)ha」と打つと「今日あ」となって「h」キーが無視される
「kyou(SP)(CR)ha」として(CR)で「今日」という変換を確定させる必要がある
と言っても、必ずしもそうなるわけではなく、
メモ帳のように普通に(CR)無しで入力できる場合もある
(CR)無しでいける場合と、ダメな場合と、何が違うのか
ある程度の文字数を扱うとダメなのか、マルチラインにするとダメなのか・・・
そうやって作り替えると、状況も変わるんだけど
これをこうすると、こうなるという法則が見つからない
Window10が不安定というしかない状況
VBで作ったものだけキー操作が違うと面倒で
誰か回避策見つけた人います? いませんか
全然おかしいですよ
フォームにテキストボックス2つ配置します
コードなんかなんも無し
プロパティはマルチラインTrueにするだけ
すると片方だけ上記の現象が出てる
で、現象の出ない方では、改行すると現象が出る
じゃあ1行目にはその現象が出ないってことか?と思って
↑キーで1行目に戻ったら、そもそも漢字入力ができなくなってる
数か月前はこんな現象無かったのにWin10の更新でボロボロ >>589
実行時に互換モードとかだとどうなりますか?
Windows10アップデートの度に動かないプログラムが増えてきてるんですけど、互換モードでどうにか動かしています IMEはなんかいろいろ不具合でてるっぽいから、あきらめるか
前のバージョンのIMEに戻して試せ >>590
互換モードのWin8とXPでやってみたけど状況に変化なしですね
たぶん最近のIMEに問題があって、
互換モードではそこまで戻してくれないというこtでしょう ねぇ、IMEは色々不具合出てるよね
突然漢字入力できなくなるのは、メモ帳だったら、それをいっぺん閉じないと治らない
漢字の候補が表で出る奴は、最下行が見えないし
なんでそんな単純なバグが発見されずに出荷してるか謎 IMEにバグがあるのは間違い無い
しばらく使ってると突然可笑しくなる
何がきっかけかは特定出来ていないが
可笑しくなったら必ずやることは
タスクマネージャーから
ctfmon.exe
を見付けて問答無用でkill
これで大抵は治ってる >>587
あるね
そのときにIMEを使用しているアプリによっても違うようだ >>587
もれはファイルのエクスプローラーの中でファイル名を変更しているときに遭遇することが多い
(それ以外の場合ももちろんある)
エディタとかだとあまりならないイメージ あとこれはVBに限った話じゃないから
むしろIMEスレとか
バグ報告スレでの話題にすべき
ム板で話しても良いとは思うが
VBスレでこれ以上話すのはなんかずれてるというかもったいない WM_CHAR フリーズ
で検索すると
microsoftのサイトで当面の回避策が出てきます
「以前のバージョンのMicrosoft IMEを使う」により回避できるようです おお、サンクス
漢字モードを変えるとモニタ中央に「A」とか「あ」とか出るバージョンね 未だにVB6使ってる所はヤバい
VB.NETに移行するにも厳しいし VB6@Win10
VBPを開こうとすると、1%か2%程度の確率で、
レジストリなんたらのエラーで失敗する
でももう一度やれば正常に開けるので問題は無いのだけど
Win10って、そういう不安定なもん? Win10のせいじゃなくて、VBPの問題じゃないかと思うが
10での開発環境はサポートされてなかったはずなので
自力で解決できないなら古いOSつかっとけとしか まだshiftjisで頑張ってるの?
早くunicodeにおいでよ Windows11でもVB6アプリが動くなんて凄いじゃん >>608
セキュリティホール意図的に作ってどうする? >>609
VB6のランタイムに致命的なセキュリティーホールがあるのか? 未だOfficeに搭載されているのはVer幾つなんだ? なにも.netにこだわらなくてもいいじゃない
昔なら数十万もしたようなC++がタダで手に入る時代なんだよ
今更糞重いVSのIDEなんて使ってられるか(会社が貧乏というのもありますがw) .netって成功してるのか?
未だにその存在意義を知らんのだけど VBみたいな古い言語でも.NET上にあれば殺さずメンテし続けられやすい >>614
それなりに.NETの案件は有る
しかしJavaやCOBOLやPHPほどでは無い えええ??
VB.NETはコボル以下?
それって大失敗じゃん >>617
>>VB.NETはCOBOL以下
そうだよ
マイクロソフトがVB.NETよりC#に重点移した時点でVB(.NET含む)は終了した
COBOLより案件少ない .NETが出たときに、その勉強を始めたものの
自分はプログラマ専門の仕事ではないんで
こんな煩雑な言語仕様に付き合う暇は無いというか
その面倒さに見合う恩恵があるとは思えなかったので見送った
MSはOSの方でも、変な方向に進んで大ヒンシュクを買っているが
VB.NETも失敗だったのだろう?
VCに比べて、短いコードで記述できる利点を捨てるなら
VCでやればいいじゃないかって話だよ .net6で派遣取る!
いやいや、時代はwebアプリでしょ なんかもうネットでもVB6の情報が出てこなくなってきたようなので質問させてください
構造体のメンバも、構造体自身も動的配列にしたいのですが
Private Type tt
aa As Integer
bb() As Integer
End Type
Dim INF() As tt
:
ReDim INF(10)
ReDim INF(10).bb(10)
INF(5).bb(5) = 123
最後の123を代入するところで
「実行時エラー9
インデックスが有効範囲にありません。」となります
どなたかご存じの方いらっしゃいますでしょうか そもそも構造体のメンバに動的配列なんぞ使えなった気がするが
それコンパイルは通ってbbのRedimは動いてるのか?
まあ、それでRedimされているのはINF(10).bbであってINF(5).bbではないがな やっぱりですかね
ReDim INF(10).bb(10)の後半のbb(10)は無視されている気がする
そこでエラーを出さないから悩んでしまう >>624
>>623の人が何言ってるのかちゃんと理解した方がいいよw っていうかさあ、どんなポンコツPCでもGB単位のメモリー持ってる時代に
KBオーダーのメモリー節約するために本当にそれやる必要あるの?w
っていうか今時VB6使ってるってことはもう20年選手だろうに
そのレベルの質問はないわ ちょっとVBAで試したけど構造体に動的配列できるっぽいな
まあ、なんでわざわざ構造体をサイズ可変にしたいのかわからんが
>>624
いやだから、ReDimしてるのはインデックス10の要素だけで、インデックス5の要素はReDimされてないだろ
ReDim INF(5).bb(10) しろよ まぁなんてことでしょう
そんなことになってたんですか
ループで回さないといけないんだ
ここで聞いて良かった
ありがとうございました 今月のwindows updateのせいでIMEに不具合出るようになったみたい
変換中にスペースキーを押すとカーソルが文字列の最初の方へ勝手に移動する MS-IME不具合は、「全角のカッコの開始終了などの二文字入力後に、その間に「ああああ」とか書いて確定したときに、カーソル位置が前方に行く」という現象
だと認識してたけど、そういうことなのか。
もちろんATOKやGoogle IMEでは発生しないね。
ちなみに、DevExpressの古いActiveXであるdxEditなどを同じFormに配置すると、この現象は消える。 IMEの古い方を使うっていう設定にしてる人だけに起きてるのかな? Win10をクリーンインストールしたPCでも発生してるよ
ギコナビでも発生してるらしい
ギコナビってVB製?
あと、"国"の前にカーソルがあると消えて見えないとかね
勘弁してほしい ギコナビはDelphiじゃなかったかな
それにしても相当古いはず 高度IT人材、富士通は最大年収3500万円へ
AI人材の獲得に超本気 NECが新人事制度を9人に適用、富士通は最大年収3500万円へ
【年収3500万円も】富士通、「ジョブ型」人事制度を導入 幹部社員から 高度IT人材
来年度から副業解禁 人材多様化へ―大同生命次期社長
第一生命HD、副業解禁 約1万5000人対象
第一生命HD、副業解禁 1万5000人対象―大手生保初
IHI、国内8000人の副業解禁 重厚長大企業も転機
IHI、社外兼業を解禁 社内副業もルール化 https://forest.watch.impress.co.jp/docs/news/1378596.html
ここに出てるね。
「Microsoftの日本語IMEだけでなく、他社(サードパーティー)の日本語IMEでも発生する」
とか書いてるけど、Google IMEやATOKでは起きなかったけどなぁ。 24時間以内に修正するってか、気合入ってるじゃん
相当なクレームが入ったのだろう
キーボード見ながら打ち込んでると、変なところに書いていてビックリだよ 文章編集中にカーソル位置が飛ぶバグが直ったと思ったら
その前ノバグがぶり返した 実行ファイル形式で動かしている時、実行時エラーが発生した際に
何もエラーが表示されずに落ちる様になった
何度もコードを書き換えて原因を確認したところ、
どうやら、UserControl_Paint内でクラスのインスタンスを生成するコードがあると、
実行時エラー発生時にメッセージボックスが表示されずに落ちる様だった
最初はクラスに問題があるのかと思ったのだが、何も実装していないクラスの
インスタンスを生成してもでもやっぱり同じだった
(ちなみにIDE上でデバッグしているときは実行時エラー発生時に
ちゃんとエラーメッセージが表示された)
一応最新のパッチは当たってるけど、これはどうしようもないのでしょうか?
(UserControl_Paint内でクラスのインスタンスを生成しないようにするしか
ないのでしょうか?)
例)
Private Sub UserControl_Paint()
Dim objClass1 As Class1
Set objClass1 = New Class1 ' ←クラスを生成するコードがあるとダメっぽい
Set objClass1 = Nothing
End Sub VBは時折不可解な挙動を示す。そういうもんだと思って諦めれ
まあPaintみたいな呼び出し頻度が高い処理で
インスタンス生成みたいな重い処理をやるべきではないな
objClass1をprivate変数とかにしておいて
Paintの中ではその関数使うだけに出来ないのか? >>639
確かにその通りですね
不具合の発生元は分かったので、挙動に合わせて修正することにします
ありがとうございました っていうかVBはもう20年も前に死んでるんだってw
いつまでゾンビに仕事をさせるんだよw
もういい加減墓の下で静かに眠らせてやれよマジでw Officeの中では普通に生き延びてるからなぁ
マクロのpython移行計画も潰えたはず >>643
VBAとVBはちがう
いまでもVBAの開発環境はたとえばEXCELのVBEとしてサポートされてる
VBは、開発環境たとえばVisual Studio6.0とかはすでにサポートされてない
それが動くOSもサポートされていない
だったらランタイムの動作もさっさとサポート切ってくれればまだいいんだか
すくなくともWin10では基本的なランタイムはサポートされてたはず
Win11はどうなったかしらん >>643
EXCELのpython搭載なんて、俺が知る限り
単にアンケートとっただけで、一度も正式に開発対象になったことないと思うが
python移行計画なんてどっから出てきたんだよ >>640
自己解決しました
今更興味ないかもしれませんが、一応書き込んでおきます
動作ログを取ってみてわかったのですが
実行形式ファイルの時だけ、実行時エラーが発生した後に
UserControl_Paintが呼び出されるようです
実行時エラーが発生した後は、多分終了処理に入っていると思いますので、
このタイミングでクラスのインスタンスを生成すると不具合が生じるのだと
思われます
解決策は簡単で、UserControl_Paintの先頭でErr.Numberをチェックし、
実行時エラーが発生していた場合は、Exit Subで抜けるようにしました
上記の対策で、正常にエラーメッセージが表示されるようになりました 最近、VBを使っている話を聞いたのだが、昔は当たり前のように宣言していた
Option Explicit On
は今ではしないのか? 開発が主務じゃないコンピュータ保守は初めて知ったと言っていたが。 たぶん普通は入れると思う
VB6は確かコード先頭に書いていたような気がするけど
以降はVisual Studio のコンパイルオプションにあって
最近のはデフォルトでオンになってるから
意識しないのでは? >>650
今はコンパイルオプションになっているのか?
情報ありがとうございます。 VBなんて10年くらい使ってなかったがこの動画をきっかけに思い出した。
https://youtu.be/h9RqM2fXssY?t=36 >>653
最後のトンネルの下りだと空荷のトレーラーじゃなく
横に止まっているVBが3台あるのだから、それでブロックしておけば良いはず。
というかあの映画の作者はVBを破壊しまくる程VBが嫌いなのか? このままVB6を葬り去るより
中国に売却した方が金になるし得だろう
そして中国で取り合えず64ビット対応をする
相当売れるはずだよ VB6でDouble型をLarge_Integer型に変換するにはどうすればいいんでしょうか?
ググって以下のソースを見つけたのですが、オーバーフローします。
QuadPart使えないし。。。
Private Function cvtDblToLi(Val As Double) As LARGE_INTEGER
Dim foo As LARGE_INTEGER
foo.lowpart = Val And &HFFFFFFFF
foo.highpart = RightShift(Val, 16)
cvtDblToLi = foo
End Function 大きさに困ったら通貨型使ったら
CCur(31アイスはダブルに限るね) >>657
つかさー
VB6のDouble 型ってIEEE754に準拠してるだろうから
もっと基数とか指数とか仮数とかちゃんとみて
変換掛けてやらないといけないんじゃない?(鼻ホジ)
なんかそれ見てると下位4バイトをlowPartに
上位6バイトをhighPartに突っ込んでるようにしか見えない >>658-659
レスthx
どっかのサイトの解説で、Currency型は整数15桁と小数4桁の8バイトで整数精度に問題あり。
LONGLONGと同じ8バイトのDouble型推奨って書いてたから、Double型との相互変換で
サンプル探してたけど、Double型が8バイトなのは最近のVBであって
VB6のDouble型って4バイトなのね。orz
Currency型とLARGE_INTEGER型の相互変換で探したら、すぐ見つかりました。
どうもお騒がせいたしました。 >>660
いやいや、むしろ問題があるのは
DOUBLE 型の方だろう。
整数の精度ではなく、浮動小数点で
10進と2進での計算のために誤差が出る。
整数を扱う場合はどちらも問題ないだろうが
Currency は通貨型と言われているものだから
計算に誤差があったらヤバいだろ。 国内フリーランス1670万人 1年で57%増 雇用不安背景、労働人口の2割超す
副業・兼業812万人の見通し 去年より100万人余増 コロナ影響か
副業収入、「副業が本業収入を超えた」21.8% 約7割が副業・複業先への転職にも前向き
副業のほうが本業より収入が多い 5人に1人
3000人が回答!「副業・ダブルワーク」実態調査2人に1人が「副業・ダブルワーク」の経験ありと回答。
20代の7割が「副業したい」、興味のある仕事は?
ランサーズ、『フリーランス実態調査 2021』を発表
〜フリーランス人口、経済規模は過去最大に〜
仕事は9割外注すれば売り上げが爆増する
フリーランス市場規模が20兆円を突破 -副業は8兆円- 新石器時代に合わせて新VB6が爆誕するのでしょうか? VB6は非GCでポトペタ開発ができる稀有な存在なんだがなぁ
こういうのをひとつくらい残してほしかったわ ちょこっと変更してVB64として売れば需要あるだろうに
世の中、プログラム作ってるのはプログラマだけではない
本業が別なとこにある人も使う
エクセルVBAは色々とうっとうしいしな >>669
興味はあったけど、糞高い割にはバグだらけらしいんだよなぁ
優秀は開発者はみんなM$にぶっこ抜かれるから仕方ないのか・・・ VB6はトライアンドエラーがやりやすいので素人でも扱いやすい
コンパイラ言語とスクリプト言語のいいとこ取りした感じ
次は、64bit整数対応、符号なし整数対応、シフト演算対応、ユニコードAPI呼び出し対応、
スレッド対応、継承対応、スクリプト実行(動的実行)対応のVB64か・・・(妄想) そこまでイヂり倒せる人なら既にC♯とかに引っ越ししてるような C#は素晴らしいんだが、GCがあるからなぁ
GCの無いお手軽言語が無い状況なのよね VBAさえ開発環境改良してないしなぁ…MSやるきなさすぎ >>676
VBA は変わらないからいいんですよ‥‥ VBはWindows SDKすら使えない人間が使うものとして用意された時点で終わっている。 >>678
あなた、遅れていますね…
VB/VBA から win32api は呼び放題なのに >>675
malloc/free地獄はもう嫌じゃぁ >>679
Windows SDKの開発を知らないのに反論するのは意味がわからない。
ネイティブ開発は、VBそのものを作るようなやり方だぞ。 >>680
そんなの忘れるようなコードを書いている方のレベルの問題 >>683
いや、だからさ、VB からでも win32api くらいなら簡単に呼び出せるよ
win32api さえ呼び出せるんだったら、それが C/C++ からであろうが、VBA からであろうが、できることはあまりかわらないのでは?
そりゃ DLL とかは無理だけどさ、アプリならほとんど同等に作れると思うよ >>685
だから、あんたはWindowsアプリケーションを作る基礎を知らないと言っているんだが?
Windowsが発しているメッセージを判断して、どうこうするレベルと、VBみたいにそこがすでに用意されているレベルのものでは、比べても意味がない。 >>685
VBがVBで作られている、ExcelがVBで作られていると説明すれば自分自身が変なことを言っているのかがわかるのかな? >>685
Excelのスレでcomポートの質問してるのは君か? >>686-686
では質問いたしましょう
exel VBA から win32api を直接呼び出せるか、それとも呼び出せないか?……①
①の質問に yes または no のいずれかひとつで答えてください。 >>685
よく読まないで横レスするけどwin32apiだけじゃ実用アプリは無理だろ >>689
出来るよ
でも出来るのと使えるのは違う >>691
十分使えますよ、この前テトリスを組んだばかりですよ VB6は最近の言語と違って構造がシンプルらしいから、
Windowsがバージョンアップを繰り返しても、
このまま生涯現役でいて欲しいわ >>689
呼び出せるよ。あんたWindowsアプリケーションをVBでしか作ったことがないから、悔しいらしいけど、VBはあくまで簡易的なアプリケーションの作成ツールだ。
だから、VBはいくらこねくり回してもよくはならない。 そりゃVBで簡単なアプリしか作ったことがないってことだぬ マイクロソフトがライブラリの作り方がわからない時期に提供した手段のひとつ Windows 95の時代にVisual Basic 4.0。
Windowsネイティブアプリケーションではないため、マイクロソフトもVBはあくまで仮の言語という位置づけだった。 このスレッドはコボラーと同じような思い込み強いじじいが多い。
VBはコンピューターの仕組みがわからなくても使えるから、コボラーみたいな勘違いが起こる。
仕事でしか興味がなかったから、VBがクソ環境だと思わなかったんだろう。 プログラムなんて簡単に組めればそれに越したことはない VBはできることが少ないのを、無理やり拡張したから、中途半端なものになった。
Windowsを誤解させてしまったという負の面が大きい。 VCなら出来るってのは、マルチスレッドとか
無くても困らないようなものばかり
上の人が言ってるように
手間かけずに作れるてことは
例えば、5年後に手直しが必要になったときに
その有難たみが実感できる なんだかんだでExcel VBAとかは未だに使うから、20年前にVB6で作った自作ソフトとか余裕で直せる。 >700
Windowsの、どこをどう誤解させたのか詳しく
ちなみにVBの拡張はVB以外でも作れるし、Windowsのアプリ連携機能の根っこだと思うんだがな >>704
高級な言語が低級な処理を覆い隠すのは当然の進化なんだが
それがWindowsのどこをどう誤解させたと? >>705
WindowsのようなOSとハードウェアの仕組み インテルの8ビットCPUは、日本人である嶋さんの設計だった
IBMですら、その将来性を見通せなかったのだから、
日本政府の無能ぶりは仕方ない
しかし日本政府はユダヤの商売を邪魔できないというのがあって
日本製OSは自滅させられてしまった
CPUやOSのような、稼げる分野に踏み込むことができないのだ
その一方で、中国製CPUはWindows10がサクサク動くまでになってきた
その価格で、そこまで動くなら充分だ、という方向に世界は動き
インテルのCPUは、一部の愚かなヲタしか購入しなくなるだろう
それに加えて、アメリカは基軸通貨の地位を失うことで米国債を売り浴びせられ
国が潰れることになるし、日欧も巻き込んで餓死者が大勢出るほどの大恐慌が目の前に迫っている
インテルもMSも先が無い
世界経済はBRICsが引き継ぐ
だからVB6は早く中国に売り払ってしまえと言うのだ >>708
VBはフレームワーク
Windowsのメッセージをループしながら、取得して判断する部分は初めから出来上がっている。
バカにされていると思っているのかもしれないが、あまりにできることが少ない状態でリリースしたマイクロソフトを恨んでくれ。 >>704
Windows APIが低級ってマジでいってんの?
超高級絢爛豪華APIだろ
DOSのころはディスク以外のデバイスは全てアプリケーション側で個別に操作しなくちゃいけなかったのに >>710
できることが少なくても、拡張することが前提だからな
ビルゲイツが拡張できるようにしろって言ったらしいが
>>711
比較の問題だろ
VBのような高級言語からみればOSのAPIは低級だわな >>712
だからVBではWindows SDKの開発と違いが大きすぎて、マイクロソフトは混乱してユーザーも混乱した。
そこにサンマイクロシステムズがJavaといううまく作られたライブラリを持って登場した。
マイクロソフトはMFCというライブラリを提供していたが、Javaのライブラリのような発想はまったく出てこなかったので、サンマイクロシステムズのライブラリに衝撃を受けた。
GUIのライブラリはこういうふうにすれば、いいのかとわかって、VBは6.0で捨てることが決まった。
マイクロソフトは自分でクビをしめていたわけ。
マイクロソフトはWindows SDKをみんな使ってくれると思っていたが、世の中のプログラマのレベルが想像以上に低かったせいで、とりあえずVBでしのいだだけ。
当然、C言語、C++プログラマでネイティブアプリを作るような人間は、Windows SDKの方が自由自在なので、こちらを使った。
DirectXを使うような一般人も当然、Windows SDKを使った開発をしている。
VBは何もかもしょぼくて話にならない。
ただ、なぜか日本の業務システムではVBを使ってしまって、日本はガラパゴスになった。
VBを多用したせいで、日本のWindowsアプリケーションのレベルが下がったとも言える。
プログラマのレベルも下がり、コンピューターがどう動いているのか、Windowsがどう動いているのかすら考えない人間がこんなスレッドを立てて、あたかもWindowsに詳しいかのように発言している。
VBを使っていた時点でまったくわかってねえんだよ! プログラム板の他のスレッドを見ないようなレベルの人間だからな。
やる気なし、関係あることでも調べない、仕事でVBを使っていたから知っているだけという勘違いで、VBが古代などと変なことを言ってしまっているやつらがいるのが、このスレッド。 無制限に時間を使える訳ではないからなぁ
個人的に興味があって、家で調べているならそれでもいいんだろうけど、
会社で調べてたらその分見積もり高くしろと言われてしまうし、
とにかく簡単に出来るほうがよい
Windowsの仕組みとか正直どうでもいい >>714
あなたが衝撃を受けたJava GUI って
AWT?
Swing?
JavaFX? Sub Japan_Cleaning()
Static Yamagami
If 朝鮮自民=0 Then End
Del 朝鮮自民
Yamagami++
Japan_Cleaning
End Sub VB6を運用続けるのも難しくなって来た
VB6→C#やVB.NETへの移行案件いろいろ出て来てるね >>720
移行が終わったら、呼んでくれ。
VB6からの移行なんて絶対やりたくない。w 新規開発用の環境はVB.NETは開発終了みたいだからC#へ移行 >>721
>>VB6からの移行
結構多いよ
どんだけVB6のまま放って置いたか分かる VB.NETも終わりなの?
じゃあVBとWindowsもひっくるめて中国に売っちゃえばいいのに
例えば、漢字変換が何十年も進歩しないアジア軽視は許せん
Windows自体が問題放置のお手上げ状態だし
まぁそろそろ人間の手には負えなくなってきたのだろうが VB.NETの進化は止まった
逆を言えば、それだけ完成度が極まった、とも言える Win11でも見捨てられずに動いちゃう(ランタイムとかの個別導入はいるけど)VB6の罪は極刑レベル。 エクセルVBA を買うと損するの?
エクセルVBA はこれからどうなるの? >>725
新しい機能はC#使えってことでしょ
VB.NETはこれまでも周回遅れだったじゃん ある意味エクセルVBAの勝利だな
エクセルVBAはユーザーが多いから無くなることはないだろう
Windowsを立ち上げたときの核心部分は、日本のNEC部隊が担当したそうだ
富士通とかもマイクロソフトに出向して、てっきり日本語対応の部分だけを担当してたのだと思ってた
インテルにしても初期の8ビットCPUは日本人の設計だしな
孫正義のような日本の足を引っ張る朝鮮人連中が、安倍死から絶賛崩壊中で
これから日本復活だよ
とはいえ欧米の崩壊に日本も巻き込まれるので暫くは地獄だが なんでWin11って日本語不自由なん?
ローカライズは日本語の話せるアジアンが担当して、生粋の日本人は参加してないん? >>731
>>エクセルVBA
無くならないだろうね
VBA案件も多い 15年位前からMSIMEの開発は中国に移ってるそうです
当時から精度劣化とか言われてた >>732
22H2の日本語表示はかなり中途半端になってたよ
配信開始したの知らないで、昨年末の21H2だと思ってダウンロードしたんだけど
隣り合ったメニューなのにterminalとターミナル(管理者)とか、インストーラが英語のままだったり
前のバージョンでできてたとこが間違ってた Windowsがオープンソース品質に近くなってきたな・・・ 本当にWindowsは酷い酷いってWindows板に書きまくったら
「他所でやってください」の規制がされてしまった
一例を挙げるなら、ファイルをコピーしようとして
「上書きしていいですか」のダイアログの意味不明さも酷いが
それをキャンセルしたら無処理で戻るはずが、プログレスバーがスルスルと伸びるんだよ
これ怖いよ、上書きしちゃったか確認が必要だ
漢字変換も使い込んだら30年前の、候補が頻度順で並んでる方が速いよ
もうあちこちメチャクチャ macOS や iOS でディレクトリというかフォルダのコピーするとき
同名のフォルダがあったら内容マージされるもんだと思って
確認ダイアログでOK押したら元々のフォルダの中身が消されたのは良い思い出 VB6のシステムをVB.netで書き直す作業をプログラムわからない人に説明したい場合、
どういう例えだせばわかりやすいかな・・・・? VB6とVB.netは名前に同じVBとついていますが、
別の言語です。翻訳の多大な労力が発生します。
日本語から中国語に翻訳する作業を同じ漢字を使う
文化なんだから簡単でしょと言っているようなものです。
とか?
中途半端に知識のある客
「でもVB6で書いてるものをVB.netに自動で変換
出来るって聞いたよ?」
COM、OCXを置き換えたり、
コントロール配列が使われているばあいの置き換え
VB6からVB.net2008、Visual Studioへの
2段階アップグレード等をどう説明したらいいんだ。
orz >>741
日本語と中国語の漢字で似て非なるものの説明いいかもしれないですね
ありがとうございます
開発期間すごく甘く見積もりされていて辛かったので
これで少しでも伸ばせたらいいなぁ・・・ >>741
中途半端に知識のある人には、自動変換ではCOM、OCXといった共通で使われる古い部品はそのままだから、新しい部品に置き換えないとVB6からVB.netに書き換えても今後動作しなくなる可能性が高く、.NETの部品は規格が違うから書き換え作業が増えますよと伝えていた
でも実際は、.NET Frameworkのサポート期間の方が短くて、初期のバージョンに移行した方が先に寿命を迎えた
コントロール配列の問題はCOM、OCX問題が無ければ、そのままでも機能するから書き換えてないのも見かけるよ
セキュリティ面では改善されたのかもしれないけど、VB6からVB.netへの書き換えって、本当に必要だったのかな、新しい機能を使うためには.NET Frameworkへ移行した方が良かったものもあるけど、VB.netの開発は終了されて今後新しい機能が追加されないみたいだから、移植時に新しい機能が必要なかった場合は意味が無かったと思う
COM、OCXがそのままでVB.net化されたのなんか、全く移植した意味が無かったと思う
>>740
最近のVB.net移植案件の目的ってなんなんでしょか?
うちの会社は最近のはC#へ移植してるよ
言語は併用できるから古いコードはVB.netへ移植して、新しい部分はC#でも良いけど、VB知らない人にはVB使う意味って無いよね
ところでVB.net化して、VB6名前空間がそのまま残ってるコードをどう思います? >>743
>最近のVB.net移植案件の目的ってなんなんでしょか?
私のケースの場合は、単に担当する私の経験がC#よりVB経験があったためと
依頼側はVB6とVBって似てるからいけるんじゃない?っていう認識のもとでの依頼でしたね
ここ数年C#触れてなかったけど、今の主流は次世代とかのこと考えるとC#のほうがいいのかなぁ VB6からの移植はIEみたいに
いつMSが切るか分からんのと
保守のVB6エンジニアの確保が難しいからじゃないの? >>743
VB6はランタイムはサポートされていても開発環境はすでにサポートされてないはずだが
.NETはサポート切れたら寿命なのに、VB6はサポート切れても寿命じゃないと? >>746
1.VB.NETは、新しい機能追加が終わったから、もしVB6の機能で良いというならVB6で良い
2.VB.NETでできることはC#でもできるから、どうせ移植するなら機能追加のあるC#の方が有利
3.実行環境については、VB6のサポートは続いてるけど、.NETはバージョンによっては終了
たとえば、NETFramework4.0は開発環境(VS2010)のサポートが終了されちゃったし、置き換えられて4.0実行環境もサポート終了された
開発環境のサポートが終了されたのを妥協するとしても、4.0で開発したなら最終バージョンの4.8の動作確認が必要になるけど、VS2010しか持ってないと対応できない
うちの職場は社内設備用の開発なんで、新しい開発環境が買ってもらえない
MS以外のメーカーから提供されるライブラリが高価で初期導入の時にしか買っていないのも問題なんだけどね
うちの職場ではWin11については現在確認中だけど、万一のためにVB6用にXpは仮想化してあるし、Win10までVB6の開発環境は現役で使えてる
VB.NETはMSのサポートが必要で、どうしてもVBが使いたい時だけの選択肢でしかない、それなら付加機能のあるC#に移行するよねって話で新しいものはC#に移行しているよ VB6のIDE環境だけどWIN11で普通に使えてるよ。
ランタイムとか自分で入れ直さないといけないけど。 旧VBはXPの仮想マシンで動かしてるわ
まるごとコピーすれば5分で準備できる それって、Win10上で、バーチャルXPを動かしてるってこと?
XPマシンがあるならVBの開発環境構築にバーチャルPCは不要だものね
Win10上でVBPを起動すると、レジストリの登録がなんたら〜とメッセージが出て
それはもう一度やれば正常にプロジェクトがロードされたのだけど
昨日は10回近くリトライしてもダメで
ダメなときはダメという感じになってきた
何かが不安定で、ネットで調べたら管理者権限で立ち上げるとかあって
今調べている最中だけど
なんか古代VBに対する配慮がなくなっているのではないかと不安
バーチャルXPが作れるなら、それも考えておかないといけないかも >>750
VB6 IDEをWin10以降で動かすネット記事は
初回起動時のみ管理者権限で起動って書いてるトコ多いけど
レジストリの読み書きするプログラム作る場合は
常に管理者権限で起動するようにしないと
書き込みエラーで怒られるよ。 >>750
うちはHyper-V使ってるよ
Xp用の統合環境用ドライバがServer2012R2くらいまでしか対応してなかったから、Server2012R2から持ってきた
多分Win8.1くらいまでは対応してたんだろうけど、Win10以降はWindowsUpdateでドライバ取得するようになって、Xp未対応なんだよね
Xpについては、XpモードのVHDをそのまま使ってるのもある
なぜかアクティベーションできたPCとできなかったPCがあって、仕方ないから新規に入れた環境もあるよ
Hyper-VはWin98やMeは対応できないみたいなんだけど、他社の仮想環境なら使えるのかな
VirtualPCやVirtualServerなら実行できるのにね
VB6もそうだけど、F-BASICの環境構築にXpは役立ってる
Xpより後のOSでは、デバッグができなかった
F-BASICはXpすら未対応ってことになってるけど、Xpなら動かすことができた VB6→C#への移行案件が地元で有るけど
募集かけても人が来ないのかずっと募集中
よほどVB6からの移行は皆嫌ってるって事か 単純に古代VB言語を使いこなす現役が少なくなっているんじゃないの? なんでC#にする必要があるのか聞いてみれば
たぶん、例えばTreeViewとかの非標準のコントロールを使っているから
起動すらしないということなんでしょ
そのコントロール相当のものを自作すれば済む話なんじゃないの
自作コントロールを作っておけば、そういう案件全部食えるのでは 例えばポップアップメニューの項目の中で、使えない項目は
Enabled=Falseにすると、エンボス表示になって、これは使えない項目だと瞬時に分かったのに
今時のWindowsはタブレット対応のためか、滲んだフォントを使うので、エンボス表示が使えない
そこで文字色を灰色にしたり、背景色を変えたりの統一されていない仕様になって非常に分かりにくい
それはほんの一例だが、Windows開発の先人たちが改良を重ねて使いやすくしてきたものを
全否定する今時のWindowsは、GUIが子供が作ったようにバカげたものになっている
コントロールパネル関係なんか悲惨すぎる
場当たり的な思いつきの仕様が使われて、もう末期的だろう
開発チームを統括してる奴がいないようだ
しかしXP時代のよきGUIがVBランタイムとして残されていくのは救いだな 今やWindowsの売上はMS全体の売上の2〜3割しかないからあまり工数を割けないんだろうねぇ >>758
今のWindowsって今までに蓄積したものをぶっ壊した挙句、
UIが中途半端なキメラ状態になってしまってるんだよな
もう、モバイル完敗なんだから、サッサと諦めて
今までのデスクトップ路線に戻してほしいわ XPが完成形だよな。それ以降は劣化だよ。
進数計算とか空で出来ない雑魚文系なので、XPの関数電卓は未だに重宝する。 今のWindowsの電卓は最低だわ
フリーソフト以下だ
たぶん新人の勉強のために作らせたんだろうが
あんなものをよく上司がOK出すなと思う
アンドロイドスマホの電卓はセンス良い
さすがGoogle >>757
かも知れないね、、
まあ.NET Coreとか視野に有るならVB.NETよりC#にしとく方が良いからね 古いプログラムは余り手を付けずに延命できるならそれに越したことはない
表面化してこなかったバグを掘り起こしてしまいかねない
C#に移行なんて話は、どうせ元のソースの全てを理解してやろうとは思ってないだろ 「Internet Explorer 11」は2023年2月の
パッチで完全無効化
~Microsoftがアナウンス/
そろそろクラシックVBも引導渡されるかな。 そもそもプロプライエタリな開発ソフトなんて時代遅れだからっ!
これからはフリーなg++またはclang++やろ?
もちろんGUIはwxWidgetsッ!
Qt?・・・もう知らん AmazonのKindle for PCがQtのようだ edgeをdom操作出来るようになるまではie消すなよ。 VB6の様な実行即起動のP-CODEライクな開発環境はもう出ないのでしょうか? VBだけで出来ることなら簡単だけど、
OSの機能にアクセスしようとすると急に難しくなる VBAにはコントロール配列が無かったから複数の同じコントロールを
操作するのが面倒だった気がする VBってトライ&エラーがやりやすいから
やっつけ的な糞コードができやすいというのはあるかも・・・ 難しいかどうかを気にするのって
やらない言い訳を探しているように見えるな vbもvbaどちら様も難しいございますわよ。
だってプログラミングなんだもん。 Picture1をコンテナとして、複数のImageコントロールが乗っています
そのイメージを
Clipboard.Clear
Clipboard.SetData Picture1.Picture か Picture1.Image
でクリップボードに入らないかと思ったらImageは無視されてしまいます
Picture1に直接描かずに、Imageを乗せるのは、
Imageはドラッグで動かすものだからです
ウインドウ丸ごとキャプチャは、Picture1がウインドウより大きくて
スクロールしながら見るものだからダメです
全Image を BitBild でPicture1にコピーしてから
Clipboard.SetData するしかないでしょうか >>781
Picture1のAutoRdrawをTrueにしてもダメでしょうか? >>781
これでどうでしょうか?
フォーム上に Picture1 と Command1 を置きました。
Picture1 上には任意の Image を置いてください。
※ Picture1 の ScaleMode プロパティは、「3 - ピクセル」に設定してください。 Option Explicit
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hDC As Long) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hDC As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hDC As Long) As Long
Private Const SRCCOPY = &HCC0020
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Const CF_BITMAP As Long = 2
Private Declare Function OpenClipboard Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function SetClipboardData Lib "user32" (ByVal uFormat As Long, ByVal hData As Long) As Long Private Sub Command1_Click()
Dim hDC As Long
Dim hBitmap As Long
Dim hBitmapOld As Long
hDC = CreateCompatibleDC(Picture1.hDC)
hBitmap = CreateCompatibleBitmap(Picture1.hDC, Picture1.ScaleWidth, Picture1.ScaleHeight)
hBitmapOld = SelectObject(hDC, hBitmap)
BitBlt hDC, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, Picture1.hDC, 0, 0, SRCCOPY
If OpenClipboard(Me.hWnd) Then
If (EmptyClipboard()) Then
SetClipboardData CF_BITMAP, hBitmap
End If
CloseClipboard
End If
SelectObject hDC, hBitmapOld
'DeleteObject hBitmap
DeleteDC hDC
End Sub 全 Image を Picture1 に BitBlt する必要な無いみたいです。
VB6 の Clipboard オブジェクトを使用する場合は、StdPicture にする必要があるみたいですが、
hBitmap を StdPicture に変換するより Clipboard API を使用して hBitmap を渡す方が簡単だと思ったので
この様にしました。 ありがとうございます
ありがとうございます
ありがとうございます
できました!
複数のImageは透過Gifでして、重なり合っているので
ImageはたぶんBitbldできないから、一旦ワーク用のPictureBoxにコピーして
それをZオーダーの下層から順にPicture1にBitbldするのに
EnumWindowsとGetNextWindowを調べているところでした
でもPicture1はウインドウより大きいので
やはり見えない部分は内部では保持していないのでしょうね
そこはコードから少しずつスクロールしながらキャプって繋ぎ合わせようと思います
私の趣味に付き合って頂いた善意あるあなた様のご健康を願っていますので一言
「ワクチンは絶対に打ってはなりません」
これから世界は大混乱の終末の様相となり大勢の人々が無くなります
もし自由な時間がおありでしたら海外情報を紹介しているサイトをご覧になることをお勧めします オレはワクチン打つたびに副作用が強くなっていったから3回で止めたわ
人によっては1回目で強烈な副作用に襲われたらしいが・・・ マイクロソフトもWindowsアプリケーションの開発手段のひとつを提供しただけで、VB6.0はもともと本流ではない。 それなのに予想以上に人気が出てしまって(ソフトに掛けるお金や時間もなく)
切るに切れずに今に至るのでした
簡易的なものはDelphiに任せてどんと構えていれば良かったのかもしれないな でもVB4〜6の出来は素晴らしい
Windows本体やエクセルなんかより頑張ったと思う
文句の付け所がほとんど無い
思うに、MSはある時点で突然スタッフが劣化し
その前に終了したVBは良く見えると ホントかウソか分からんが実は日本人が裏で頑張ってた説もあるんだよな
ある日突然日本人に触らせなくなってから劣化して逝ったとか・・・
日本人はソフト開発向かないと言われているが
一部には特別優秀な人が居るんだなぁ MSIMEがうんこになったのは開発拠点を中国に移したせいだと聞いたな 日本から富士通やらNECやらがWindows開発部隊をMSに送り込んでいたのは事実
当時FM-TOWNSを持っていて、富士通系のパソコン雑誌でそういう記事が紹介されてた
てっきりWindowsの日本語化、2バイト文字対応をしてるのかと思ってたが
Windowsの核の部分から日本人技術者が担当してたと後から聞いた
すると松下が加勢した日本のOSであるTRONと、Windowsの戦いは
ある意味日本人同士の戦いだったのかも知れんね
戦いというほどではなかったのかも知れないが
ゲイツや孫一味によるJAL123便撃墜で終止符が打たれたから
アメリカの方では完全に戦いになってた
アメリカはスーパー301条を発動したからね
ペンタゴンまでTRONには国防上の大問題だとイキってたし
日本人は本当に優秀だよ
JAL撃墜のときの中曽根、そして小泉・竹中による日本潰しが始まった
こいつら日本人じゃないんだ
海外の調査でも、日本をトップに、香港など東アジア勢が知能指数が高いことが判っている
8ビットCPUの、ザイログZ80やインテル8080は日本人の嶋さんの設計で
嶋さんはインテルに引き抜かれた
カナダで製造された世界初の量子コンピューターの原理は日本人の発案
人工知能でブレイクスルーとなったディープ・ラーニングも日本人の発案
しかし日本には白人の言う通りに動く、いわば日本人の足かせとなっている民族がいる
政治家なんか全員そうだ そしてWindows安全神話が始まった
(実際は、アメリカに情報抜かれまくってたりして ビルド実行してもエラーもおきずEXEも吐き出されないのはどうやって原因追及すれば
突然VB6やることになってやばいです VB6の寿命半端ねぇっす
どうせならWindowsと共に生涯現役で・・・ 同じ機能、同じ性能のアプリを作れるなら
簡単に早く作れる方がいいに決まっているからね Windows10上のVBアプリで
テキストボックスに入力していると
そのうち漢字入力ができなくなる問題が放置されている
もう修正する気は無いのだろう
たぶんWindows11上でも同じなんでしょ?
VBアプリを再起動すれば復活するのだけど
何かコードを書いて、漢字モードのリセット的なことはできないでしょうか
つまり、漢字入力できなくなったら、
それ用のコードを仕込んだボタンをポチッと押すだけで
再び漢字入力できるような・・・ VB6.0なんてマイクロソフトがもう捨てろと言っているのにな マイクロソフトのライバルはマイクロソフトなのである!
つまり、VB6の様な手軽に開発出来るソフトを作ってしまったのがいけなかったんや
VBが無ければみんな泣きながらVC++使ってたろうから、多分.NETが救世主に見えたんじゃね? >>806
C++も無かった時代を知らないにわかですか?