

お世話になっております。
表題についていろいろ調べたのですがエラーの解決方法が見つからないため、質問させてください。
環境はVC++2005 CLD windowsフォームアプリケーション です。
貼り付けたリストボックスにtxtファイルをドラッグドロップして中身を取り出したいのですが、dragdrop関数内で、ファイルのパスを抜き出す部分でエラーが解決できません。
環境に合わせて下記のようなdragdrop関数を作成中です。
System::Void Form1::commandListBox_DragDrop(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e) {
if(e ->Data ->GetDataPresent(DataFormats::FileDrop)){ // ファイルドロップのとき
std::string files[] = (std::string[])(e->Data->GetData(DataFormats::FileDrop));
}
}
最後の行はMSDNなどで書かれていた
string[] files = (string[])(e.Data.GetData(DataFormats.FileDrop));
となっている部分を参考にしているつもりですが、この部分で下記のエラーがでます。
1>.\mySrc\tab0.cpp(45) : error C2440: '型キャスト' : 'System::Object ^' から 'std::string []' に変換できません。
1> 配列型への変換はありませんが、参照またはポインタから配列への変換があります。
1>.\mySrc\tab0.cpp(45) : error C2075: 'files' : 配列の初期化には中かっこ ({}) が必要です。
このエラーの解決方法か、ドラッグドロップしたファイルのパスを取得する方法をご教授頂ければ幸いでございます。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
std::string[] を使うより cli::array<String^>^ を使う方が無難だと思います
array<String^>^arDrops = (array<String^>^)e->Data->GetData( DataFormats::FileDrop );
といった具合で取り出して
for( int n = 0; n < arDrops->Length; n++ ) {
String ^sName = arDrops[n];
// Dropされたファイルの個別の処理
}
といった具合でしょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】同じ関数なのに、エラ...
-
VISIOは上位互換のはずなのにフ...
-
Excelの印刷プレビューが使用で...
-
kernel32.dllファイルがコピー...
-
なぜString型ではだめなのか
-
エクセル VBA コンパイルエラ...
-
エクセルマクロでエラーの原因...
-
Access97のテーブルをExcel97に...
-
VBAのChangeFileOpenDirectory...
-
他バージョンで作成のPowerPoin...
-
JSSEを使用したProxy経由のHTTP...
-
ASP.NETで運用エラー
-
VBインストールエラー
-
PSTファイルのエラーを解決する...
-
ファイル アクセス権のエラーの...
-
FileSearchがExcel2010でできない
-
Excelファイルのマクロによる排...
-
VBAでDLLが見つからないエラー
-
フラッシュメモリーの抜き取り...
-
ブラウザ出力エラーのリカバリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【関数】同じ関数なのに、エラ...
-
access テキストボックスの値取得
-
「パス名が無効です」の発生原因
-
ExcelVBAで既に開いてるwordを...
-
NAS上のファイルの使用中が解除...
-
Returnに対するGoSubがありません
-
gccを行ってもexeファイルが生...
-
PowerShellを使って関連付けら...
-
batファイルでレジストリキーの...
-
アクセスのクエリでコンパイル...
-
VB6 Dir関数で52エラー発生
-
エクセルマクロでエラーの原因...
-
VBでファイルが開かれているか...
-
【COBOL】read文でエラー
-
FTPの送信結果を検知したい
-
VBから参照できないCのDLLを使...
-
fgets関数のEOFの扱い方について
-
ACCESS VBAでのインポート
-
データベースソフトのアクセス2...
-
DisplayAlertsブロパティで ”実...
おすすめ情報