我必须使用旧的Borland编译器(BC 5)支持用C编写的旧应用程序.
不幸的是,我们使用的旧TCP/IP库开始显示它的年龄,并且遇到了Vista和Win7机器的问题.
我有一个新的MS Visual C++函数库,我想用它来制作一个可以从Borland C调用的DLL.
所以,我有两个问题:1)如何使一个Visual C++ DLL可以从Borland C程序调用,2)如果它是可调用的,如何从普通的旧C调用C++函数?
理想情况下,整个项目应该转换为Visual C,但是有许多遗留功能可以使该项目成为一项重大任务!我正在寻找一个快速的补丁来让它保持活力一段时间:)
史蒂夫
我无法将枚举值设置为其中一个可能的类...
如果我在iPython窗口中:
eTest = Enum('zero', 'one', 'two', 'three')
Run Code Online (Sandbox Code Playgroud)
我可以:
eTest.value = eTest.values[2]
Run Code Online (Sandbox Code Playgroud)
并print eTest.value给我正确的答案:两个
我在python类中尝试相同的东西,它告诉我:
AttributeError: 'str' object has no attribute 'values'
Run Code Online (Sandbox Code Playgroud)
如何设置eTest以获得Enums的[3]值而无需输入"three"这个词?
我在TraitsUI包中遇到了TabularAdapter的问题......
我一直想在自己身上花很长时间来解决这个问题,所以我想请各位专家提供一些友好的建议:)
我要添加一个我的程序来说明我的问题,我希望有人可以看一遍并说'啊哈!......这是你的问题'(我的手指交叉).
基本上,我可以使用TabularAdapter将表编辑器生成为dtypes数组,除了以下情况之外它工作得很好:
1)每当我更改元素数量(标识为'破裂数:')时,数组都会调整大小,但是在我单击其中一个元素之前,该表不会反映更改.我想要发生的是,在我释放#of fractures滑块后,#行(骨折)发生了变化.这可行吗?
2)我遇到的第二个问题是,如果数组在由.configure_traits()显示之前调整大小(通过Notifier,当Number_of_fractures被修改时),我可以缩小数组的大小,但我无法增加它新尺寸.
2b)我以为我找到了一种让表格编辑器显示完整数组的方法,即使它在代码中的5个集合上增加(在调用.trait_configure()之前),但我被骗了:(我尝试添加另一个在vertical_fracture_group前面的Group()所以表格不是第一个显示的东西.这更接近模仿我的整个程序.当我这样做时,我被锁定在新的较小尺寸的数组中,我不能再将其大小增加到最大值15.我正在修改代码以反映此问题.
这是我的示例代码:
# -*- coding: utf-8 -*-
"""
This is a first shot at developing a ****** User Interface using Canopy by
Enthought. Canopy is a distribution of the Python language which has a lot of
scientific and engineering features 'built-in'.
"""
#-- Imports --------------------------------------------------------------------
from traitsui.api import TabularEditor
from traitsui.tabular_adapter import TabularAdapter
from numpy import zeros, dtype
from traits.api import HasTraits, Range
from traitsui.api import View, Group, Item
#-- FileDialogDemo Class ------------------------------------------------------- …Run Code Online (Sandbox Code Playgroud)