标签: instance

只有一个带有 FireMonkey 的应用程序实例

使用FireMonkey和一个多平台应用程序(Windows + Mac OS X),如何让一个应用程序同时运行一个实例?

如果之前的实例已经在运行,如何将其设置为桌面前景窗口?

  • 我可以检查文件是否被锁定:
    • 未锁定:我锁定它并正常运行
    • 锁定 :找到以前的版本(在 Windows 上,我知道如何......但在 mac 上?)并将其设置为前台窗口
  • 我可以检查同一进程启动了多少次(同上,在 Windows 上,好的,但如何在 Mac OS X 上执行此操作)
  • ...

delphi macos instance delphi-xe2 firemonkey

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

保存到文件并加载 python 类的实例及其属性

我正在使用 python 进行数据分析,并希望找到一种将类实例保存到文件的好方法,以便稍后可以重新加载它并保留其属性值。特别是,此类的实例将加载其他类实例的对象,然后进行需要一段时间才能完成的处理器密集型比较。

例如:

import pickle

class MyClass():
    def __init__(self):
        self.info = OtherClass(option=1)

    def pickle(self):
        f = file('test_file', 'wb')
        pickle.dump(self, f, pickle.HIGHEST_PROTOCOL)
        f.close()

    def unpickle(self):
        f = file('test_file', 'rb')
        pickle.load(f)
        f.close()


class OtherClass():
    def __init__(self, option):
        self.property = option * 2


mydata = MyClass(option=5)

mydata.pickle()
Run Code Online (Sandbox Code Playgroud)

然后导入此模块并运行 mydata.unpickle() 以取回 mydata(我还有一个选项,用于查找文件之前是否已被 pickle,如果有,则暂停 OtherClass 实例的计算和调用)。现在,如果我这样做,我可以加载 mydata,但它不再具有 mydata.info 对象。我的理解是这是pickle有意为之的一部分,但是有没有办法完全保存mydata以便我以后可以使用它?

python attributes class instance pickle

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

C# 从 Form1 中的静态方法获取现有 Form1 实例

我知道这是一个很简单的问题,但没有人能给出简单的答案。

从 Form1 中的静态方法获取现有的 Form1 实例

public partial class Form1 : Form
{
    public Form1()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        callMethod();           
    }

    public static void callMethod()
    {
       // how can get existing Form1 instance here ?             
       statusLabel.Text = "test";
    }
}
Run Code Online (Sandbox Code Playgroud)

拜托,为什么我需要这个并不重要,重要的是知道如何。

c# oop static-methods instance

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

由表达式文字生成的正则表达式是否共享单个实例?

以下代码片段(来自 Crockford 的Javascript:The Good Parts)演示了由正则表达式文字创建的 RegExp 对象共享单个实例:

function make_a_matcher( ) {
    return /a/gi;
}

var x = make_a_matcher( );
var y = make_a_matcher( );

// Beware: x and y are the same object!

x.lastIndex = 10;

document.writeln(y.lastIndex); // 10
Run Code Online (Sandbox Code Playgroud)

问题:这与其他文字一样吗?我尝试修改上面的代码以使用字符串"string",但出现了一堆错误。

javascript regex instance literals ecmascript-3

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

如何为现有方法分配新操作?

我在 C# 中创建了一个类,它使用“Action”方法。

public void Action()
{

}
Run Code Online (Sandbox Code Playgroud)

该方法是空的,因为当创建该类的新实例时,用户应该能够定义该方法的用途。一个用户可能需要该方法写入控制台,另一个用户可能希望它为变量分配一个值,等等。我有什么办法可以改变该方法在其原始定义之外可以执行的操作,沿着下列的:

//Using the instance "MyClass1", I have assigned a new action to it (Writing to the console)
//Now the method will write to the console when it is called
MyClass1.Action() = (Console.WriteLine("Action"));
Run Code Online (Sandbox Code Playgroud)

.net c# methods class instance

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

实例化列表

如果我想实例化一个数组,语法是

int[] items = new int[] { 1, 2, 3 };
Run Code Online (Sandbox Code Playgroud)

快捷方式是

int[] items = {1,2,3};
Run Code Online (Sandbox Code Playgroud)

现在我想对 a 做同样的事情List。

问题:

为什么这有效:

List<int> items = new int[] { 1, 2, 3 }.ToList();
Run Code Online (Sandbox Code Playgroud)

但不是这个:

List<int> items = { 1, 2, 3 }; //invalid
Run Code Online (Sandbox Code Playgroud)

或者

List<int> items = { 1, 2, 3 }.ToList(); //invalid
Run Code Online (Sandbox Code Playgroud)

c# arrays list instance

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

在 Robot Framework 中实例化一个类

我有一个 python API 包装器,可以像这样使用:

from api.MyApi import *

client = MyApi(server)

users = client.user.get_users()
Run Code Online (Sandbox Code Playgroud)

我想编写一个使用它的测试库,我可以在 Robot Framework 中使用它,但我无法让它按照我想要的方式工作。我尝试过以下几种方法:

测试机器人

*** Settings ***
Library  api.MyApi  ${SERVER}  WITH NAME  client

*** Variables ***

*** Keywords ***
Get users
    ${response}=  client.user.get_users()
    Log  ${response.content}   

*** Test Cases ***
Test: Test 1
    Get users
Run Code Online (Sandbox Code Playgroud)

这导致

No keyword with name 'client.user.get_users()' found.
Run Code Online (Sandbox Code Playgroud)

如何创建和使用 API 客户端实例?

python class instance robotframework

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

扩展类父参数的默认值

我有B带有 to 参数的类x,并y从A带有x可选参数的类扩展(所有参数都非空),我如何B以一种方式定义它是可选的,并且它将在构造函数中使用可选值A

val y = 0
val b = if (y == 0) B(y) else B(y, 0)

class B(y: Int, x: Int = 238) : A(x)

open class A(x: Int = 238)
Run Code Online (Sandbox Code Playgroud)

x在这里,我已经在构造函数中设置了默认值,B有什么方法可以实现这一点,而不必在中设置默认值B

constructor instantiation instance default-parameters kotlin

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

无法分配给对象“#&lt;Object&gt;”的只读属性“property”

我有这个问题。

带接口:

export interface IDevice {
  id: string,
  selected: boolean
}
Run Code Online (Sandbox Code Playgroud)

通过以下方式创建实例:

let newDevice: IDevice = {
  id: uuid4(),
  selected: false,
} as IDevice;
Run Code Online (Sandbox Code Playgroud)

它以反冲状态添加到数组中,并在 React 中用于使用 useRecoilState() 检索数组的函数中。 const [leftList, setLeftList] = React.useState<IDevice[]>([]);

现在它在处理程序中用于选择列表控件上的设备,这里发生错误:

...
leftList.map((item: IDevice) => {     
      if (item.id === event.dataItem.id) {
        item.selected = !item.selected;
      }
      return item;
    })
...
Run Code Online (Sandbox Code Playgroud)

我收到错误:无法分配给对象“#”的只读属性“选定”

即使先通过 [...leftList] 克隆数组也没有帮助。

我迷路了:-)希望有人能对此有所了解吗?

javascript interface instance readonly typescript

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

VB.NET 与这种创建实例的方式等效的是什么?

在 C# 中,您可以创建这样的实例:

Custom mycustomelement = new Custom { ElenentName = "My Custom Element" };
Run Code Online (Sandbox Code Playgroud)

我想知道如何在 Visual Basic 中创建这样的实例以及这种类型的创建实例的名称。

.net vb.net properties class instance

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