使用C++,lua 5.1,luabind 0.7-0.81
尝试使用parent创建lua类并将其存储在luabind :: object中.
LUA
class 'TestClassParent'
function TestClassParent:__init()
print('parent init\n')
end
function TestClassParent:__finalize()
print('parent finalize\n')
end
class 'TestClass' (TestClassParent)
function TestClass:__init()
print('init\n')
TestClassParent.__init(self)
end
function TestClass:__finalize()
print('finalize\n')
end
Run Code Online (Sandbox Code Playgroud)
C++
{
luabind::object obj = luabind::call_function<luabind::object>(lua_state, "TestClass");
}
printf("before GC\n");
lua_gc(lua, LUA_GCCOLLECT, 0);
printf("after GC\n");
Run Code Online (Sandbox Code Playgroud)
输出:
GC
后GC 之前的
init
父init
结果: obj被销毁后,'TestClass'实例在垃圾收集周期后仍然存活(未调用__finalize方法且未释放内存).它只在程序退出时销毁.
Moresome如果我使用类无父,垃圾收集正确.
如果我尝试使用采用策略(获取创建对象的所有权)
luabind::object obj = luabind::call_function<luabind::object>(lua_state, "TestClass")[luabind::adopt(luabind::result)];
Run Code Online (Sandbox Code Playgroud)
我明白了:
为什么不是Map<String,List<SomeBean>>施法者Map<String,List<?>>?
我现在正在做的是:
Map<String, List<SomeBean>> fromMap = new LinkedHashMap<String, List<SomeBean>>();
/* filling in data to fromMap here */
Map<String,List<?>> toMap = new LinkedHashMap<String, List<?>>();
for (String key : fromMap.keySet()) {
toMap.put(key, fromMap.get(key));
}
Run Code Online (Sandbox Code Playgroud)
在我看来,应该有一种解决这种手动转换的方法,但我无法弄清楚如何.有任何想法吗?
我让Ejabberd和测试用户一起运行,并且工作正常.我想编写一个可以拦截消息并修改它们的模块,如下所示:
ejabberd文档很薄弱,教程也不存在.你能给我一些代码来做这个吗?然后我可以想出如何根据我的需要配置它.
谢谢捆绑!
阿迪尔
我找到了一个解决方案,通过以下方式在library.zip中添加文件:扩展py2exe以将文件复制到zip文件,pkg_resources可以在其中加载它们.
当library.zip不包含exe时,我可以访问我的文件.
我在目录中添加了一个文件:text.txt:library.zip中的foo/media.我使用这段代码:
import pkg_resources
import zipfile
from cStringIO import StringIO
my_data = pkg_resources.resource_string(__name__,"library.zip")
filezip = StringIO(my_data)
zip = zipfile.ZipFile(filezip)
data = zip.read("foo/media/text.txt")
Run Code Online (Sandbox Code Playgroud)
我尝试使用pkg_resources,但我认为我不明白,因为我可以直接打开"library.zip".
我的问题是当library.zip嵌入exe时我该怎么做?
最好的祝福
让 - 米歇尔·
我正在使用ocamlgraph在ocaml中编写一个程序,并想知道我是否要将它移植到F#我的选择是什么?谢谢.
我不得不ULONG_PTR在C#中传递一个不安全的代码.
据我所知,原因ULONG_PTR是为32位和64位操作系统提供单一代码库.
这是C#的案例UIntPtr吗?将.Net UIntPtr作为ULONG_PTR参数传递时,我可以自信吗?
谢谢!
下面的XAML基本上是尝试创建一个Buttons 列表(从当前集合中Name对象的属性呈现).ViewsDataContext
当我单击按钮时,CurrentItem属性CollectionViewSource应该更改,关联View应该显示在内容呈现器中.
好.如果我点击ListBox下面的XAML,它可以完全按照要求工作.
但是,如果单击UniformGrid(由项目控件创建)中的按钮,CurrentItem则不会更新该属性.
如何CurrentItem在ItemsControl?中选择项目时更新?
谢谢
<UserControl x:Class="Pos.Features.Reservation.ReservationView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:product="clr-namespace:Pos.Features.ProductBrowser"
xmlns:activity="clr-namespace:Pos.Features.ActivityBrowser"
xmlns:addbysku="clr-namespace:Pos.Features.AddBySku"
xmlns:client="clr-namespace:Pos.Features.ClientBrowser"
xmlns:notes="clr-namespace:Pos.Features.Notes"
xmlns:controls="clr-namespace:Pos.Views"
xmlns:res="clr-namespace:Pos.Core;assembly=Pos.Core"
Height="300" Width="300">
<UserControl.Resources>
<DataTemplate DataType="{x:Type product:ProductBrowserViewModel}">
<product:ProductBrowserView/>
</DataTemplate>
<DataTemplate DataType="{x:Type activity:ActivityBrowserViewModel}">
<activity:ActivityBrowserView/>
</DataTemplate>
<CollectionViewSource x:Name="x" x:Key="ViewsCollection" Source="{Binding Views}" />
</UserControl.Resources>
<StackPanel>
<ListBox Name="ListBoxMenu" Grid.Column="0" Margin="5" ItemsSource="{Binding Source={StaticResource ViewsCollection}}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" Padding="10"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<ContentControl Grid.Column="1" Content="{Binding …Run Code Online (Sandbox Code Playgroud) data-binding wpf itemscontrol collectionviewsource currentitem
java ×2
c# ×1
c++ ×1
casting ×1
currentitem ×1
data-binding ×1
ejabberd ×1
erlang ×1
events ×1
excel ×1
f# ×1
generics ×1
hook ×1
html ×1
interop ×1
itemscontrol ×1
javascript ×1
jquery ×1
labels ×1
lua ×1
luabind ×1
ocaml ×1
py2exe ×1
python-3.x ×1
resources ×1
scripting ×1
types ×1
vba ×1
winapi ×1
wpf ×1