我一路走来---

编程爱好者 欢迎喜欢编程的朋友。

2009年06月20日

原创 ActiveX异步回调JavaScript(通过事件方式)


以前是用的事件机制来调用JavaScript,事件和回调本来就是一回事。但是由于没有解决线程同步问题,所以就一直没有调通。JavaScript中死活也不响应异步发送过来的事件。前天用Idispatch接口调通了JavaScript。但是始终觉得不是那么回事,这样会麻烦死的。
       于是回过头来思考,用事件是不是只要线程同步一下就可以了?今天早上试了一下,果然没有问题。
下面介绍一下具体的步骤:
1.       建立MFC ActiveX Control(方法略)
2.       在ClassWizard automation页添加方法invoke。Invoke函数代码如下:
void CForthCtrl::invoke(short a)
{
m_a = a;
_beginthread(f, 0, (void*)(this));
}
3.       在上面的invoke方法中调用了线程函数f,在f函数中要调用界面控件CforthCtrl,所以必须进行线程同步,阅读全文>

发表于 @ 2009年06月20日 09:04:00|评论(loading...)|举报|收藏

2009年06月18日

原创 ActiveX异步回调JavaScript

ActiveX异步回调JavaScript       开发环境:VC6.0。       背景知识:COM/ActiveX/JavaScript/MFC/Thread       想必用过Ajax的童鞋们都知道xmlhttp这个东西吧,通过设定onreadystatechange属性,我们就可以指定他状态改变的回调函数,当状态改变时,ActiveX控件就会调用我们通过onreadystatechange属性制定的回调函数。从而就出现了Ajax给我们带来的精彩。关于Ajax的技术我们这里不做讨论,我们的目的就是实现像xmlhttp这样具有异步回调JavaScript功能的ocx控件来。       Let’s go!1.       建立MFC ActiveX Control(方法略)2.       在ClassWizard中添加属性callbackfunction属性,并为该属性生成get和set方法。我们将在ActiveX控件中开启线程,线程执行完后将调用阅读全文>

发表于 @ 2009年06月18日 10:25:00|评论(loading...)|举报|收藏

2009年05月25日

原创 asp.net服务器组件开发给System.Web.UI.WebControls.Label增加单击事件


asp.net服务器组件开发给System.Web.UI.WebControls.Label增加单击事件
还有一个类是给Edit增加服务端可以相应的OnBlur事件

    public class ClickableLabel : Label, IPostBackEventHandler
    {
        public event EventHandler Click;
        protected void onClick(EventArgs e)
        {
            if (Click != null)
            {
                Click(this, e);
            }
        }
        //When postback is caused by this control, raise the event
阅读全文>

发表于 @ 2009年05月25日 19:49:00|评论(loading...)|举报|收藏

原创 使用QTWebkit


代码:
#include #include #include int main(int argc, char *argv[]) { QApplication a(argc, argv); QWebView *view = new QWebView(0); view->load(QUrl("http://192.168.19.121/abc/Default.aspx")); view->setWindowTitle("hello QtWebKit"); view->show(); return a.exec(); }

编译:
1.qmake -project
2.修改.pro文件 加入:QT +=webkit
3.qmake
4.nmake阅读全文>

发表于 @ 2009年05月25日 09:04:00|评论(loading...)|举报|收藏

2009年05月17日

原创 python urldecode 函数


python只提供了urlencode函数,而且是对dict的。
那我就贴个urldecode函数:
import urllib
def urldecode(query):
    d = {}
    a = query.split('&')
    for s in a:
        if s.find('='):
            k,v = map(urllib.unquote, s.split('='))
            try:
                d[k].append(v)
            except KeyError:
                d[k] = [v]
    return d
if __name__ == '__main__':
    str = """cityinfo=%E5%A8%81%E6%B5%B7&button=%E6%9F%A5%E8阅读全文>

发表于 @ 2009年05月17日 07:29:00|评论(loading...)|举报|收藏

2009年05月13日

原创 使用Q_OBJECT宏遇到的LINK2001错误

使用了Q_OBJECT宏之后在编译的时候会遇到下面的错误: --------------------Configuration: testqt - Win32 Debug-------------------- Linking... test.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall MyMainWindow::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@MyMainWindow@@UAEHW4Call@QMetaObject@@HPAPAX@Z) test.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall MyMainWindow::qt_metacast(char const *)" (?qt_metacast@MyMainWindow@@UAE阅读全文>

发表于 @ 2009年05月13日 13:47:00|评论(loading...)|举报|收藏

2009年05月12日

原创 csdn终于可以使用WLW了!

先写一篇纪念一下!阅读全文>

发表于 @ 2009年05月12日 13:39:00|评论(loading...)|举报|收藏

2009年05月11日

原创 扩展windows的打开文件的对话框

效果如下图:调用打开文件对话框只需要调用windows API函数GetOpenFileName就可以了,上面的效果需要设置GetOpenFileName函数的参数LPOPENFILENAMElpofn   lpfnHook指向一个钩子程序。在Flags成员中必须包含OFN_ENABLEHOOK如果在Flags成员中OFN_EXPLORER标记没有被设置,lpfnHook指向一个OFNHookProcOldStyle钩子程序,这个程序有意的从对话框接收消息。钩子程序返回FALSE传递一个消息到默认的对话框程序或返回TRUE丢弃消息。 如果OFN_EXPLORER被设置,lpfnHook指向一个OFNHookProc钩子程序。这个钩子程序接收从对话框发出的通知消息。这个钩子程序也接收你通过一个子对话框模板定义的附加控件的消息。钩子程序不有意接收默认对话框的标准控件的消息。lpTemplateName指向一个以空字符结束的字符串,字符串是对话框模板资源的名字,资源保存在能被hInstance成员识别的模块阅读全文>

发表于 @ 2009年05月11日 10:12:00|评论(loading...)|举报|收藏

2009年05月10日

原创 上传GAE程序遇到HTTPError: HTTP Error 403: Forbidden问题解决


我有两个gmail账户,一个用来收邮件,一个专门用来放GAE程序,今天我在上传GAE程序的时候遇到如下错误:
C:\Program Files\Google\google_appengine>python appcfg.py  update fetioneasy/
warning: Not importing directory 'E:\6.26\locale': missing __init__.py
Scanning files on local disk.
Initiating update.
2009-05-10 19:45:29,375 ERROR appcfg.py:1237 An unexpected error occurred. Abort
ing.
Traceback (most recent call last):
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\appcfg.p阅读全文>

发表于 @ 2009年05月10日 19:55:00|评论(loading...)|举报|收藏

2009年05月09日

原创 C++操作ini文件的类 (和delphi中的TIniFile一样方便)

C++操作ini文件的类 (和delphi中的TIniFile一样方便)阅读全文>

发表于 @ 2009年05月09日 18:42:00|评论(loading...)|举报|收藏

用户操作
[即时聊天] [发私信] [加为好友]
tingsking
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
tingsking的公告
欢迎喜欢编程的朋友。
月 [下月] [上月]

联系方式:
有事请Q我! 187320765(闲聊勿加)
Mail 也可以!unix_boy@126.com

天气预报

文章分类
收藏
    我的好友
    OS X书籍(RSS)
    OS X资源(RSS)
    一只蚊子
    乱了感觉
    张樱凡
    文文相册(RSS)
    杨德龙的专栏(RSS)
    玉玉
    王中王的Blog
    肖楠的日志(RSS)
    高婷的Blog(RSS)
    存档
    软件项目交易
    Csdn Blog version 3.1a
    Copyright © tingsking