2017-10-18 9 views
0

C++/CXのUWP APIからCreateFileAsyncメソッドを使用する際に問題があります。ここで は、私が実行しようとしているコードです:UWP CreateFileAsyncの問題

create_task(folder->CreateFileAsync(destination_file, Windows::Storage::CreationCollisionOption::OpenIfExists)). 
     then(
      [this](StorageFile^ dest_file) 
      { 
       //do something here 
      }); 

CreateFileAsyncの呼び出しは、私のファイルを適切な場所に作成されているように成功しているようです。 しかし、私のラムダ関数(//do something here)内のコードは決して実行されません。

誰でも私が間違っていることを説明できますか?

答えて

0

私のファイルが適切な場所に作成されるので、CreateFileAsyncの呼び出しは成功したようです。しかし、私のラムダ関数内のコード(//ここで何かする)は決して実行されません。

私はCreateFileAsync非同期メソッドを実行するためにcreate_taskを使用していた私のside.Youであなたの問題を再現できませんでした。 .thenブロックは、コールバック関数と見なすことができます。そして、それはCreateFileAsyncが終了した後に実行されます。実行されていることを確認する次のコードを記述することができます。

create_task(folder->CreateFileAsync("test.jpg", Windows::Storage::CreationCollisionOption::OpenIfExists)). 
    then(
     [this](StorageFile^ dest_file) 
{ 
    OutputDebugString(L"excuted------->"); 
}); 

さらに詳しくはAsynchronous programming in C++を参照してください。

+0

ありがとう、実際にはコマンドは実行されませんでした。私はこの問題を回避するために自分のコードをリファクタリングしなければならなかった。まだ何が起こったのか分からない。 –

+0

それは役に立ちません。 OPはすでに問題のコードが実行されないと判断しました。コードが実行されないと判断するための代替手段を提供することで、問題に対処できません。 – IInspectable

関連する問題