标签: invoke

InvokeHelper 正在调用哪个函数

在我的代码中有一个对 InvokeHelper 的函数调用。我在网上找到的是InvokeHelper是通过dwDispID来调用函数的。

这就是电话。

InvokeHelper(0xd, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, Name);
Run Code Online (Sandbox Code Playgroud)

现在我想在里面调试。但我不知道会调用哪个函数。0xd 指向哪个函数?项目中也有odl文件。这会调用来自该 odl 的某些调用吗?什么功能?

编辑:

我在 cpp 文件的顶部找到了这些行。

// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++

// NOTE: Do not modify the contents of this file.  If this class is regenerated by
//  Microsoft Visual C++, your modifications will be overwritten.
Run Code Online (Sandbox Code Playgroud)

所以看起来这个类是包装类。但是哪个类的包装器呢?

c++ com invoke

4
推荐指数
1
解决办法
7698
查看次数

试图统一调用方法。方法不能被调用

void Update()
{
    if (currentTarget != null)
    {
        this.Invoke("Shoot(currentTarget)", 0.3f);
    }
}

void Shoot(Collider currentTarget)
{
    .......
}
Run Code Online (Sandbox Code Playgroud)

我希望快速调用 Shoot 方法。但我得到的只是

Trying to Invoke method: Tower.Shoot(currentTarget) couldn't be called.
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?

c# invoke unity-game-engine

4
推荐指数
1
解决办法
9816
查看次数

带有成员函数的 std::is_nothrow_invocable

如何检查成员函数在 C++17 中是否不可调用?

我知道我的班级C有一个带名字的成员函数,f想知道它是否不能用intas 参数调用。

#include <type_traits>

struct C{
    void f(int){}
};

int main(){
    // How to use is_nothrow_invocable_v???
    static_assert(std::is_nothrow_invocable_v< &C::f, int >);
}
Run Code Online (Sandbox Code Playgroud)

c++ invoke member-functions type-traits noexcept

4
推荐指数
1
解决办法
1439
查看次数

我可以使用 lambda invoke 将路径参数传递给另一个 lambda 函数吗?

我正在尝试使用 lambda 调用从另一个 lambda 函数调用并获取响应。问题是其他 lambda 函数需要将 id 作为路径参数(或作为查询字符串)发送。但是我在 lambda 调用中没有看到这个选项。如果我在有效负载中传递 id,另一个函数将在事件正文中接收它,而不是作为路径参数。有没有现有的解决方案?

这是 lambda 函数中的一个函数,它调用另一个接收数据作为查询字符串参数的 lambda 函数

function getWisIqLink(data) {
  const payload = {
    queryStringParameters: {
      userId: data.userId,
      eventId: data.eventId,
    }
  };
  const param = {
    FunctionName: 'consult-rest-api-dev-WisiqClassGet',
    InvocationType: "RequestResponse",
    Payload: JSON.stringify(payload)
  }

  return new Promise((resolve, reject) => {
  // console.log(`Starting promiseInvoke InvokeAsync with ES6 promise wrapper - ${functionName}`);
   lambda.invoke(param,(err, data) => {
      if (err) {
        reject(err);
      } else {
        resolve(JSON.parse(data));
      }
    }
  );
});
}
Run Code Online (Sandbox Code Playgroud)

这是一个接收数据作为查询字符串的 lambda 函数(不是接收数据作为路径参数的函数)

javascript invoke node.js aws-lambda

4
推荐指数
1
解决办法
8969
查看次数

从另一个未调用的 Lambda 函数中调用 Lambda 函数

如何在 Lambda 函数中调用 Lambda 函数?

例如,

函数 1 中,它将由 API 网关请求触发,并将调用第二个 lambda 函数作为事件(InvocationType = Event)。

函数 2 中,它将向端点发出 http 请求。

另外,我要在 serverless.yml 中编码吗?还是仅在 index/app/handler.js 上编写代码?

我在 stackoverflow -> Nodejs - Invoke an AWS.Lambda function from within another lambda function上尝试了这里的链接,但它不起作用。

var AWS = require('aws-sdk');
AWS.config.region = 'eu-west-1';
var lambda = new AWS.Lambda();

//LAMBDA A
exports.handler = function(event, context) {
  var params = {
    FunctionName: 'Lambda_B', // the lambda function we are going to invoke
    InvocationType: 'RequestResponse', …
Run Code Online (Sandbox Code Playgroud)

javascript invoke amazon-web-services node.js aws-lambda

4
推荐指数
1
解决办法
7552
查看次数

如何获取cypress中data-id的值

我需要获取 data-id 的值,但是当我使用下面的代码时,它不会返回任何值。

cy.get('[data-nemo=token]')
  .invoke('attr', 'data-id').then(dataId => {
    cy.log('dataId : ', dataId);`enter code here`
  });
Run Code Online (Sandbox Code Playgroud)

谢谢,

jquery attributes invoke cypress

4
推荐指数
1
解决办法
1万
查看次数

尝试将AsyncCallback添加到BeginInvoke()时C#参数计数不匹配

我有主窗体(PrenosForm),我试图异步运行Form2.

  1. 它没有回调委托:

    this.BeginInvoke(cp, new object[] { datoteke, this.treeView1.SelectedNode.FullPath.ToString(), this, efekt }, null); //works  1.
    
    Run Code Online (Sandbox Code Playgroud)
  2. 不适用于回调委托(参数计数不匹配):

     this.BeginInvoke(cp, new object[] { datoteke, this.treeView1.SelectedNode.FullPath.ToString(), this, efekt }, new AsyncCallback(callBackDelegate), null); //doesn't work parameter count mismatch 2.
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果我这样做,可以使用回调委托:

    cp.BeginInvoke(datoteke, this.treeView1.SelectedNode.FullPath.ToString(), this, efekt, new AsyncCallback(callBackDelegate), null); //works  3.
    
    Run Code Online (Sandbox Code Playgroud)

我的问题是为什么一种方式有效而另一种无效?我是新来的.有人会如此善良地回答我的问题并指出我的错误吗?

 private delegate void copyDelegat(List<ListViewItem> datoteke, string path, PrenosForm forma, DragDropEffects efekt);
 private delegate void callBackDelegat(IAsyncResult a);

 public void doCopy(List<ListViewItem> datoteke, string path, PrenosForm forma, DragDropEffects efekt)
 {
     new Form2(datoteke, path, forma, efekt);
 }

 public void callBackFunc(IAsyncResult …
Run Code Online (Sandbox Code Playgroud)

c# multithreading invoke

3
推荐指数
1
解决办法
2016
查看次数

如何在C#中强制创建Winform句柄

我收到以下运行时错误消息

在创建窗口句柄之前,无法在控件上调用Invoke或BeginInvoke.

这就是我的想法.我的winform构造函数正在创建一些对象,其中一个对象接收异步TCP/IP数据.总而言之,我有一些事件代理,允许接收网络数据的类从Winform调用例程将数据打印到文本框.这是我可以看到收到的内容.我可以看到数据立即收到.这是在winform构造函数完成之前发生的.

我读了一遍,在创建句柄之前你不能调用winform或winform组件.我怀疑这是我违反的.据说有一个强制这个的功能.我尝试将以下代码添加到我的winform构造函数中,以便在创建接收TCP/IP数据的类之前强制创建.但是,错误仍然存​​在.

InitializeComponent();
this.CreateControl();
this.HistoryBox.CreateControl();
Run Code Online (Sandbox Code Playgroud)

以下是我的winform委托的代码,以防它有用:

    public void Print_Console_Message(string message)
    {
        Console_Output.Enqueue(message);
        this.Invoke(new EventHandler(PrintToConsole));
    }
    private void PrintToConsole(object sender, EventArgs e)
    {
        string message = Console_Output.Dequeue();

        if (message.Length != 0)
        {
            HistoryBox.AppendText(message + "\n" + "\n");
        }
    }
Run Code Online (Sandbox Code Playgroud)

我意识到有一种方法可以检查对象句柄是否已创建并在这种情况下避免调用,但是,我对简单地抑制某些输出不感兴趣.

有谁知道我如何强制句柄或控件创建,以便可以在构造函数完成之前调用委托函数?

.net c# handle invoke

3
推荐指数
1
解决办法
2663
查看次数

在创建窗口句柄之前,无法在控件上调用VB.NET Invoke,但是创建了句柄

这是我的情况,有2个类和我的主要表单Form1:

Class1:有一个方法doSomethingAndCall(callback)创建一个新线程Class2:具有动态创建的控件,带有一个触发Class1.doSomethingAndCall(newCallback)的按钮

在代码中它看起来像这样(它从Class2.Button_Click开始):

Class Class1
  public shared sub doSomethingAndCallAsync(state as object)
    Console.WriteLine(Form1.InvokeRequired) 'output: false
    Console.WriteLine(Form1.IsHandleCreated) 'output: false
    Form1.Invoke(state.callback) 'throws System.InvalidOperationException
  end sub

  public shared sub doSomethingAndCall(callback as object)
    System.Threading.ThreadPool.QueueUserWorkItem(AddressOf doSomethingAndCallAsync, New With {.callback = callback})
  end sub
End Class

Class Class2
  Public Delegate Sub doSomethingDelegate()

  Public Sub doSomething()
    Console.WriteLine("success!")
  End Sub

  Public Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Class1.doSomethingAndCall(New doSomethingDelegate(AddressOf doSomething))
  End Sub
End Class
Run Code Online (Sandbox Code Playgroud)

我得到的确切例外是:

在创建窗口句柄之前,无法在控件上调用Invoke或BeginInvoke

并且我可以看到第4行中的console.WriteLine向我显示该表单实际上并未创建.所以我添加了这个处理程序,现在它真的很混乱:

 Private Sub Form1_HandleCreated(sender As Object, e As System.EventArgs) Handles …
Run Code Online (Sandbox Code Playgroud)

vb.net multithreading invoke winforms

3
推荐指数
1
解决办法
2968
查看次数

在C#中使用字符串调用方法时"对象与目标类型不匹配"

我正在尝试使用字符串调用方法,但是有一个问题:

void make_moviment(string mov,Vector3 new_mov){
    GameObject past_panel = GameObject.Find(actual_level.ToString());
    Type t = Type.GetType(past_panel.GetComponents<MonoBehaviour>()[0].GetType ().Name);
    MethodInfo method = t.GetMethod("get_answer");
    method.Invoke(t,new object[] { mov }));   <--- PROBLEM HERE
}
Run Code Online (Sandbox Code Playgroud)

始终存在与最后一行相关的"对象与目标类型不匹配"的错误.你有什么建议?

c# string reflection methods invoke

3
推荐指数
1
解决办法
5608
查看次数