每次我组装TI-83 +计算器(Z80处理器)的应用程序时,它都会停止在CALL上运行.这是一个示例("Hello") - 它开始运行得很好,但计算器在CALL指令处冻结.我在CALL之前放的任何东西都运行得很好,我放的任何东西都没有运行.这是代码的反汇编,用于显示地址而不是标签.我已经"触摸它"来显示那些落入的DB行,以便于阅读.
我从来没有写过程序集"程序"(加载到RAM中)的问题.我所知道的运行"应用程序"(保存在Flash ROM中)的唯一问题是它们无法自我修改,并且由于需要分页,因此无法访问单独页面上的数据.这不是自我修改的,只有一页......我做错了什么?
0080 218900 LD HL, 0089h
0083 cd9900 CALL 0099h ; --- App stops here
0086 c38f00 JP 008fh
0089 48656c6c6f00 DB "Hello", 0
008f fd360500 LD (IY+05h), 0
0093 ef RST 28h ; B_CALL (
0094 364c DB 4C36h ; _ReloadAppEntryVecs)
0096 ef RST 28h ; B_CALL (
0097 2740 DB 4027h ; _JForceCmdNoChar) --- App should end here
0099 7e LD A, (HL) ; --- Call goes to here
009a ef RST 28h …Run Code Online (Sandbox Code Playgroud) 我想在UNIX类型平台上用C++实现COM的自定义实现,以允许我动态加载和链接面向对象的代码.我认为这将基于POSIX提供的类似功能集来加载和调用dll,即dlopen,dlsym和dlclose.
据我所知,COM的一般思想是你链接到一些函数,即QueryInterface,AddRef和Release in a common dll(Kernel32.dll),然后允许你访问接口,这些接口只是一个用指针封装的函数指针表应该调用函数指针的对象.这些函数通过IUnknown公开,你必须继承它.
那一切都有用吗?有没有更好的方法来动态链接和加载到面向对象的代码?如何从dll继承工作 - 对基类的每次调用都必须是暴露的成员函数,即private/protected/public是否被忽略?
我非常精通C++和模板元编程,并且已经拥有一个完全反映的C++系统,即成员属性,成员函数和使用boost的全局/静态函数.
鉴于此xml:
<?xml version="1.0" encoding="utf-8"?>
<EntityDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<components>
<component xsi:type="TypeA">
<Property1>100</Property1>
</component>
<component xsi:type="TypeB">
<Property2>100</Property2>
</component>
</components>
</EntityDefinition>
Run Code Online (Sandbox Code Playgroud)
我想循环组件并基于xsi:type属性实例化每个对象.
这是一些Linq to XML代码:
IEnumerable<XElement> components =
from c in elementsFromFile.Descendants("component")
select (XElement)c;
foreach (XElement e in components)
{
var type = e.Attributes("xsi:type");
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,"var type = e.Attributes("xsi:type");"行不起作用,因为名称中不允许使用冒号.
关于如何从每个元素查询xsi:type属性的任何想法?
谢谢,
干草堆
我曾经使用soap webservices将图表数据传输到我的flex应用程序,但最近由于性能,方便的打字等原因切换到使用BlazeDS.
我正在考虑切换到使用JSON(就像我在应用程序的其他部分中所做的那样),原因如下:
有人用BlazeDS遇到这些问题吗?BlazeDS值得麻烦吗?
* 我可以使用Externalizable接口而不是不同的DTO,但它也很痛苦.
我有2个表具有完全相同的列.但它们存储在Database1和Database2中(在同一服务器上).我能否将数据库名称作为变量传递?例如:
SELECT [SomeValue]
FROM [Database2].[dbo].[Klienci]
SELECT [SomeValue]
FROM [Database1].[dbo].[Klienci]
Run Code Online (Sandbox Code Playgroud)
有没有办法将整个[FROM]作为@variable传递给C#中的以下代码:
SqlCommand sqlQuery = new SqlCommand(preparedCommand, varConnection);
sqlQuery.Prepare();
sqlQuery.Parameters.AddWithValue("@varDatabase", varDatabase);
Run Code Online (Sandbox Code Playgroud)
@varDatabase将保存数据库名称和/或表名即ie.[Database1].[dbo].[Klienci]采用一种或另一种格式.
我在谈论C#3.5/MSSQL 2005/2008.
问题
假设我试图将手机模型化为普通手机和PDA的组合.这是一种多重继承方案(手机是手机,它是 PDA).由于C#不支持多重继承,因此这几乎需要某种组合.另外,让我们说我还有其他理由支持作曲.
我一直想知道:是否有任何工具可以自动生成所有不可避免的传递代码?
让我用一些实际的代码充实我的例子:
接口:
public interface IPhone
{
public void MakeCall(int phoneNumber);
public void AnswerCall();
public void HangUp();
}
public interface IPda
{
public void SendEmail(string[] recipientList, string subject, string message);
public int LookUpContactPhoneNumber(string contactName);
public void SyncWithComputer();
}
Run Code Online (Sandbox Code Playgroud)
实现:
public class Phone : IPhone
{
public void MakeCall(int phoneNumber) { // implementation }
public void AnswerCall() { // implementation }
public void HangUp() { // implementation }
}
public class Pda : IPda
{ …Run Code Online (Sandbox Code Playgroud) 什么jQuery选择器允许我选择<td>一个<tr>超过1 的最后一个<td>?注意:我试图找到一个答案,这将允许我使用单个选择器或选择器,然后.filter()使用而不是使用.each()
<table>
<tr>
<td colspan="2">First Cell</td>
<td>Second Cell</td>
</tr>
<tr>
<td colspan="2">Only Cell</td>
</tr>
<tr>
<td>First Cell</td>
<td>Second Cell</td>
<td>Third Cell</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
起初,我认为td:last-child可能会起作用,但事实并非如此.

我想为我的字段名称提供自定义错误消息.我偶然发现了另一个问题
所以我添加了这样的东西:
class Product < ActiveRecord::Base
validate do |prod|
prod.errors.add_to_base("Product price can't be blank") if prod.prod_price.blank?
end
end
Run Code Online (Sandbox Code Playgroud)
但我也想检查prod_price的数字.如果我只是添加
validate_numericality_of :prod_price并且产品价格为空,则两个错误消息都会显示(空且不是数字).
如果产品价格不为空,我怎么才能显示'不是数字'错误消息?
我试过了
class Product < ActiveRecord::Base
validate do |prod|
prod.errors.add_to_base("Product price can't be blank") if prod.prod_price.blank?
if !prod.prod_price.blank?
prod.errors.add_to_base("Product price must be a number") if prod.prod_price.<whatdo i put here>
end
end
end
Run Code Online (Sandbox Code Playgroud)
另外,如何为"不是数字"提供自定义消息.我想隐藏向用户显示我的列名.
据我所知rails:freeze:gems,耙子gems:unpack都放置宝石/vendor.rails:freeze:gems放置它们/vendor/rails,gems:unpack放置它们/vendor/gems.然而,对我来说,这一点似乎是一样的.在这两种情况下,目标都是在开发过程中修复宝石及其版本.还有其他区别吗?在我看来现在重复..
使用C#,我想创建一个文本文件的MD5哈希.我怎么能做到这一点?请包含代码.非常感谢!
更新:感谢大家的帮助.我终于确定了以下代码 -
// Create an MD5 hash digest of a file
public string MD5HashFile(string fn)
{
byte[] hash = MD5.Create().ComputeHash(File.ReadAllBytes(fn));
return BitConverter.ToString(hash).Replace("-", "");
}
Run Code Online (Sandbox Code Playgroud) c# ×4
ado.net ×1
apache-flex ×1
assembly ×1
blazeds ×1
c++ ×1
calculator ×1
com ×1
hash ×1
jquery ×1
json ×1
linq ×1
linq-to-xml ×1
md5 ×1
ruby ×1
rubygems ×1
sql ×1
validation ×1
xml ×1
z80 ×1