小编and*_*ers的帖子

C++"this"与调用的对象方法不匹配

我遇到了在Microsoft Visual C++ 2003下运行我的C++程序时看起来非常烦人的错误,但它可能只是我做错了所以我想把它扔出去看看是否有人有任何想法.

我有这样的类的层次结构(完全一样 - 例如在实际代码中没有多重继承):

class CWaitable
{
public:
    void WakeWaiters() const
    {
        CDifferentClass::Get()->DoStuff(this);  // Breakpoint here
    }
};

class CMotion : public CWaitable
{
   virtual void NotUsedInThisExampleButPertinentBecauseItsVirtual() { }
};

class CMotionWalk : public CMotion
{ ... };

void AnnoyingFunctionThatBreaks(CMotion* pMotion)
{
    pMotion->WakeWaiters();
}
Run Code Online (Sandbox Code Playgroud)

好的,所以我用"CMotionWalk"实例调用"AnnoyingFunctionThatBreaks"(例如调试器说它是0x06716fe0),一切似乎都很好.但当我进入它时,对于调用"DoStuff"的断点,'this'指针与pMotion指针的值不同,我调用了方法(例如,现在调试器说一个字更高 - 0x06716fe4).

换句话说:pMotion的值为0x06716fe0,但是当我调用一个方法时,该方法将'this'视为0x06716fe4.

我不只是生气吗?这很奇怪,对吧?

c++ debugging pointers

6
推荐指数
2
解决办法
523
查看次数

从C查询Lua userdata类型

我有一个具有某种元表类型的Lua userdata对象(例如"stackoverflow.test").从C代码,我希望能够确切地检查它是什么类型,并根据结果表现不同.是否有一个非常方便的功能(相当像luaL_checkudata,但如果答案不是你想要的,没有错误)让我查询userdata的metatable类型名称?如果没有,我想我需要使用lua_getmetatable,但是我有点不清楚我如何确定刚刚添加到堆栈中的metatable的名称.

只是为了澄清:我正在使用Lua 5.1,其中luaL_checkudata的行为被改变了.据我所知,在5.0中它并不习惯错误.

lua types

6
推荐指数
2
解决办法
4824
查看次数

带Checkbox的Android联系人选择器

关于同一主题有很多讨论,但在这里花了4个小时后,我找不到有效的描述或链接与Checkbox建立联系人选择器.

我有一个活动DONE按钮,并listviewcheckbox.我已设法正确显示联系人.现在我想以bundle(我认为最好的方式)返回选定的联系电话号码,以便我可以获得数字列表onActivityResult().我不确定我跟随的方式是对还是不对.

这是我的代码:

public class ContactPickerMulti extends ListActivity implements OnClickListener {

    // List variables
    public String[] Contacts = {};
    public int[] to = {};
    public ListView myListView;

    Button save_button;
    private TextView phone;
    private String phoneNumber;
    private Cursor cursor;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contacts_multi);

        // Initializing the buttons according to their ID
        save_button = (Button) findViewById(R.id.contact_done);

        // Defines listeners for the buttons
        save_button.setOnClickListener(this);

        Cursor mCursor = getContacts();
        startManagingCursor(mCursor); …
Run Code Online (Sandbox Code Playgroud)

android android-contacts

6
推荐指数
1
解决办法
7338
查看次数

在分页的CakePHP控制器中找出有多少页结果

paginate在控制器中使用CakePHP的方法.我希望了解生成了多少页结果.这在view($paginator->counter())中很容易,但我想从控制器本身访问这些信息.有任何想法吗?

pagination cakephp

5
推荐指数
1
解决办法
4739
查看次数

在AFNetworking请求中忽略If-Modified-Since或If-None-Match标头

我正在使用AFNetworking 1.3.3从Amazon S3获取静态JSON文件.如果我要求使用谷歌浏览这些文件和检查头,它发出了一个If-Modified-SinceIf-None-MatchHTTP头中的请求,你回来一个漂亮的304响应预期.

但是,当我使用AFNetworking发出相同的请求,发送相同If-Modified-Since和相同的If-None-Match标题时,我每次都会获得200,即使我知道内容未被修改.它似乎忽略了我发送的额外标题.

这是我的代码:

NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:feedUrl cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60];

[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];

if (feed.remoteLastModified != nil) {
    // In real life I use the last modified header returned by the request
    [request setValue:@"Tue, 10 Dec 2013 07:15:50 GMT" forHTTPHeaderField:@"If-Modified-Since"];
}

if (feed.remoteETag.length > 0) {
    NSLog(@"If-None-Match: %@", feed.remoteETag);
    [request setValue:feed.remoteETag forHTTPHeaderField:@"If-None-Match"];
}

NSLog(@"headers: %@", request.allHTTPHeaderFields);

AFJSONRequestOperation* operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest* request, NSHTTPURLResponse* response, id JSON) {

    NSLog(@"Status …
Run Code Online (Sandbox Code Playgroud)

caching afnetworking

3
推荐指数
1
解决办法
2337
查看次数

在CakePHP中使用requestAction时,如何将布局添加到内容字符串?

我正在建立一个CakePHP网站,用户可以按下按钮"将此简报另存为HTML".使用组合requestAction和媒体视图向他们提供内容似乎是个好主意,这样他们就可以获得与实时应用完全相同的内容.唯一的缺点是requestAction使用空布局,因此没有HTML页眉或页脚.

有一个简单的方法,给定一个包含HTML主体的字符串,根据给定的布局构建一个包含完整页面内容的新字符串吗?

php layout cakephp

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

Android每日闹钟触发太频繁或只触发一次

我正在尝试在我的Android应用中实现"每日提醒"功能,该功能应该在设定的时间每天触发一次.我试过的第一个实现适用于大多数人,但是一些用户(包括至少一个在三星的Android 4.3上运行的人)报告说警报更频繁地发射,例如每10分钟一次,每个他们打开应用程序的时间,并且通常非常讨厌.

以下是启用警报的方式:

Intent myIntent = new Intent(ctx, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(ctx, 0, myIntent,0);

AlarmManager alarmManager = (AlarmManager)ctx.getSystemService(Service.ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, sched, 
                AlarmManager.INTERVAL_DAY, 
                pendingIntent);
Run Code Online (Sandbox Code Playgroud)

然后就是这个AlarmReceiver类:

public class AlarmReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub

           Intent service1 = new Intent(context, AlarmService.class);
           context.startService(service1);
    }

}
Run Code Online (Sandbox Code Playgroud)

这在AndroidManifest中注册为接收者: <receiver android:name=".AlarmReceiver"/>

最后是AlarmService,过去看起来像这样:

public class AlarmService extends Service { 

    @Override
    public IBinder onBind(Intent arg0) {
        // TODO Auto-generated method stub
        return null;
    }


    @Override
    public void …
Run Code Online (Sandbox Code Playgroud)

android alarmmanager

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

Lua注册表在新州无法看到

在从我的Lua脚本调用的C函数中,我luaL_ref用来存储对函数的引用.但是,如果我然后尝试使用返回的整数索引从不是从相同状态派生的不同线程获取该函数,那么我得到的全部是nil.这是最简单的示例,似乎证明了这一点:

// Assumes a valid lua_State pL, with a function on top of the stack
int nFunctionRef = luaL_ref(pL, LUA_REGISTRYINDEX);

// Create a new state
lua_State* pL2 = luaL_newstate();
lua_rawgeti(pL2, LUA_REGISTRYINDEX, nFunctionRef);
const char* szType = luaL_typename(pL2, -1);
Run Code Online (Sandbox Code Playgroud)

我发现szType那时包含值'nil'.

我的理解是注册表是在所有C代码之间全局共享的,所以任何人都可以解释为什么这不起作用?

如果注册表不是以这种方式全局共享的,那么如何从其他脚本访问我需要的值?

lua multithreading

0
推荐指数
1
解决办法
1094
查看次数

用于 MaskBlt 的光栅运算符

我正在尝试使用 GDI MaskBlt 命令绘制具有透明度的图像:http://msdn.microsoft.com/en-us/library/dd145047 (VS.85).aspx

我似乎在文档中找不到任何关于在明显的用例中使用什么光栅运算符的任何内容:一种MAKEROP4(SRCCOPY, DSTCOPY)- 掩码为 1 的位块传输,并在掩码为 0 的情况下保持目标不变。 SRCCOPY 是有效的 ROP ,但是我应该用什么来代替我的虚构DSTCOPY呢?

winapi gdi mask bitmap

0
推荐指数
1
解决办法
2175
查看次数

NSAttributedString 获取图像和字符串的部分

我有一个NSAttributedString混合了StringNSTextAttachment图像的东西。我如何提取[AnyObject]零件数组?

uitextview swift

0
推荐指数
1
解决办法
2440
查看次数