小编aar*_*ron的帖子

什么可能导致P/Invoke参数在传递时出现故障?

这是一个特别在ARM上发生的问题,而不是在x86或x64上.我有这个用户报告的问题,并且能够通过Windows IoT在Raspberry Pi 2上使用UWP重现它.我在使用不匹配的调用约定之前已经看到过这种问题,但是我在P/Invoke声明中指定了Cdecl,我尝试在原生端显式添加__cdecl并获得相同的结果.这是一些信息:

P/Invoke声明(参考):

[DllImport(Constants.DllName, CallingConvention = CallingConvention.Cdecl)]
public static extern FLSliceResult FLEncoder_Finish(FLEncoder* encoder, FLError* outError);
Run Code Online (Sandbox Code Playgroud)

C#结构(参考):

internal unsafe partial struct FLSliceResult
{
    public void* buf;
    private UIntPtr _size;

    public ulong size
    {
        get {
            return _size.ToUInt64();
        }
        set {
            _size = (UIntPtr)value;
        }
    }
}

internal enum FLError
{
    NoError = 0,
    MemoryError,
    OutOfRange,
    InvalidData,
    EncodeError,
    JSONError,
    UnknownValue,
    InternalError,
    NotFound,
    SharedKeysStateError,
}

internal unsafe struct FLEncoder
{
}
Run Code Online (Sandbox Code Playgroud)

C头中的函数(参考)

FLSliceResult FLEncoder_Finish(FLEncoder, FLError*); …
Run Code Online (Sandbox Code Playgroud)

c# windows pinvoke arm uwp

80
推荐指数
1
解决办法
2095
查看次数

未捕获的ReferenceError:函数未使用onclick定义

我正在尝试为网站制作用户脚本以添加自定义表达.但是,我遇到了很多错误.

这是功能:

function saveEmotes() {
    removeLineBreaks();
    EmoteNameLines = EmoteName.value.split("\n");
    EmoteURLLines = EmoteURL.value.split("\n");
    EmoteUsageLines = EmoteUsage.value.split("\n");

    if (EmoteNameLines.length == EmoteURLLines.length && EmoteURLLines.length == EmoteUsageLines.length) {
        for (i = 0; i < EmoteURLLines.length; i++) {
            if (checkIMG(EmoteURLLines[i])) {
                localStorage.setItem("nameEmotes", JSON.stringify(EmoteNameLines));
                localStorage.setItem("urlEmotes", JSON.stringify(EmoteURLLines));
                localStorage.setItem("usageEmotes", JSON.stringify(EmoteUsageLines));
                if (i == 0) {
                    console.log(resetSlot());
                }
                emoteTab[2].innerHTML += '<span style="cursor:pointer;" onclick="appendEmote(\'' + EmoteUsageLines[i] + '\')"><img src="' + EmoteURLLines[i] + '" /></span>';
            } else {
                alert("The maximum emote(" + EmoteNameLines[i] + ") size is (36x36)");
            } …
Run Code Online (Sandbox Code Playgroud)

javascript onclick userscripts

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

RuntimeError:刷新请求时 FastAPI 中没有返回响应

我在我的应用程序中遇到此错误,但我不知道为什么。经过多次搜索和调试后发现,当我在获得响应之前刷新请求时(取消请求并在处理上一个请求时发送另一个请求),就会发生这种情况。由于我的应用程序需要超过 2 秒的时间来响应,因此我遇到了太多此类错误。

到目前为止,我从我的中间件中知道了它,但我不知道为什么会发生这种情况以及我应该做什么。

知道如何解决这个问题吗?

这是我得到的错误:

ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/anyio/streams/memory.py", line 81, in receive
    return self.receive_nowait()
  File "/usr/local/lib/python3.9/site-packages/anyio/streams/memory.py", line 76, in receive_nowait
    raise WouldBlock
anyio.WouldBlock

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/base.py", line 35, in call_next
    message = await recv_stream.receive()
  File "/usr/local/lib/python3.9/site-packages/anyio/streams/memory.py", line 101, in receive
    raise EndOfStream
anyio.EndOfStream

During handling of the above exception, another exception occurred:

Traceback (most recent call last): …
Run Code Online (Sandbox Code Playgroud)

python starlette fastapi

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

扫描图像以查找矩形

我正在尝试扫描一个恒定大小的图像,并在其中找到绘制的矩形.矩形可以有任何尺寸,但只有红色.

不是问题的起点.

我将使用已经编写的函数,稍后我会将其用作伪代码调用的代码逻辑.

Rectangle Locate(Rectangle scanArea); //扫描给定扫描区域中的矩形.如果未找到rectagle,则返回null.

我的逻辑是这样的:

使用Locate()具有完整图像大小作为参数的函数查找第一个初始红色矩形.现在,划分其余区域,并递归扫描.该算法逻辑的要点是你永远不会检查已经检查过的区域,并且你不必使用任何条件,因为scanArea参数总是一个你以前没有扫过的新区域(这要归功于分割技术) ).分割过程如下所示:当前找到的矩形的右侧区域,底部区域和左侧区域.

这是一个说明该过程的图像. 在此输入图像描述 (白色虚线矩形和黄色箭头不是图像的一部分,我只为图示添加了它们.) 如您所见,一旦发现红色矩形,我会一直扫描它的右边,左下角.递归.

所以这是该方法的代码:

List<Rectangle> difList=new List<Rectangle>();

private void LocateDifferences(Rectangle scanArea)
{
    Rectangle foundRect = Locate(scanArea);
    if (foundRect == null)
        return; // stop the recursion.

    Rectangle rightArea = new Rectangle(foundRect.X + foundRect.Width, foundRect.Y, (scanArea.X + scanArea.Width) - (foundRect.X + foundRect.Width), (scanArea.Y + scanArea.Height) - (foundRect.Y + foundRect.Height)); // define right area.
    Rectangle bottomArea = new Rectangle(foundRect.X, foundRect.Y + foundRect.Height, foundRect.Width, (scanArea.Y + scanArea.Height) - …
Run Code Online (Sandbox Code Playgroud)

c# algorithm image-processing computer-vision

19
推荐指数
1
解决办法
1075
查看次数

从.NET Core 2中的类读取appsettings.json

我需要从业务类的appsettings.json文件(section :)中读取属性列表placeto,但我无法访问它们.我需要将这些属性公之于众.

我在Program课堂上添加文件:

课程

这是我的appsettings.json:

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "placeto": {
    "login": "fsdfsdfsfddfdfdfdf",
    "trankey": "sdfsdfsdfsdfsdf"
  }
}
Run Code Online (Sandbox Code Playgroud)

c# appsettings asp.net-core-2.0

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

如何在C#.NET中获取DPI?

我正在尝试使用C#构建Windows窗体应用程序.

如何在.NET中获得DPI?

我之前读过有DPIX和DPIY,它可以在.NET中用来获取当前的DPI.

那是对的吗?

谢谢大家.

.net c# dpi winforms

10
推荐指数
2
解决办法
3万
查看次数

Python中的TypeHinting元组

当我想在Python中键入一个元组时,如:

def func(var: tuple[int, int]):
    # do something

func((1, 2))    # would be fine
func((1, 2, 3)) # would throw an error
Run Code Online (Sandbox Code Playgroud)

需要提供元组中的确切项目数.这与列表类型提示不同:

def func(var: list[int]):
    # do something

func([1])       # would be fine
func([1, 2])    # would also be fine
func([1, 2, 3]) # would also be fine
Run Code Online (Sandbox Code Playgroud)

在某种程度上,这是因为元组的类型.因为它们的设计不会被更改,所以您必须对其中的项目进行硬编码.

所以我的问题是,有没有办法让元组类型提示中的项目数量变得灵活?我试过类似的东西,但它不起作用:

def func(var: tuple[*int]):
Run Code Online (Sandbox Code Playgroud)

python type-hinting

9
推荐指数
2
解决办法
3385
查看次数

如何在 FastAPI RealWorld 示例应用程序中应用事务逻辑?

我正在使用nsidnev/fastapi-realworld-example-app

我需要将事务逻辑应用到这个项目中。

在一个 API 中,我从存储库调用许多方法,并在许多表中执行更新、插入和删除操作。如果这些操作出现异常,我该如何回滚更改?(或者如果一切正确则提交。)

python asyncpg fastapi

9
推荐指数
1
解决办法
1925
查看次数

在Python中创建自定义等待直到条件

我尝试在Python中创建一个具有自定义等待条件的函数.但是,我收到一个错误:

TypeError:'bool'对象不可调用

def waittest(driver, locator, attr, value):
    element = driver.find_element_by_xpath(locator)
    if element.get_attribute(attr) == value:
        return element
    else:
        return False
wait = WebDriverWait(driver, 10)
element = wait.until(waittest(driver, '//div[@id="text"]', "myCSSClass", "false"))    
Run Code Online (Sandbox Code Playgroud)

python selenium selenium-webdriver

8
推荐指数
2
解决办法
2779
查看次数

PyYAML 错误:无法确定标签“!vault”的构造函数

我正在尝试读取包含该标签的 YAML 文件!vault。我收到错误:

无法确定标签“!vault”的构造函数

在阅读了几篇博客后,我了解到我需要指定一些构造函数来解决此问题,但我不清楚如何做到这一点。

import yaml
from yaml.loader import SafeLoader
    
with open('test.yml' ) as stream:
    try:
        inventory_info = yaml.safe_load(stream)
    except yaml.YAMLError as exc:
        print(exc)

User = inventory_info['all']['children']['linux']['vars']['user']
key = inventory_info['all']['children']['linux']['vars']['key_file']
Run Code Online (Sandbox Code Playgroud)

我正在使用的 YAML 文件:

all:
  children:
    rhel:
      hosts: 172.18.144.98
    centos:
      hosts: 172.18.144.98  
    linux:
      children:
        rhel:
        centos:
      vars:
        user: "o9ansibleuser"
        key_file: "test.pem"
        ansible_password: !vault |
          $ANSIBLE_VAULT;2.1;AES256
          3234567899353936376166353
Run Code Online (Sandbox Code Playgroud)

python yaml pyyaml ansible-vault

7
推荐指数
1
解决办法
5346
查看次数