对Dreamweaver扩展做了一些整理。

扩展开发
扩展(Extension),是应用程序给用户预留的二次开发接口。Dreamweaver提供了对菜单,插入栏(Insertbar),浮动框等GUI部件的扩展支持,使用HTML和JavaScript可以完成大部分功能。与此同时,还支持JavaScript访问C语言定义的动态链接库(DLL)。把它放到JSExtension目录下,就可以在JavaScript中通过JavaScript解析器来调用这些接口。

注意事项 
注意,包括MM_Init()及MM_STATE的文件必须用C语言实现,因为C++编译器会对函数名进行编码(改名或命名修饰,name mangling,详见http://zh.wikipedia.org/wiki/Visual_C%2B%2B%E5%90%8D%E5%AD%97%E4%BF%AE%E9%A5%B0)。

如果不做参数调整(一般没有必要),就是确保该文件名要以.c结尾,如果使用.cpp就会导致接口无法访问(myLibrary.readContentsOfFile not a function)。另外,接口引用的方法也要使用extern "C"声明。

Visual Studio编译器默认认为.c/.cpp结尾的文件是分别C和C++。参数/Tc, /TC可以忽略文件名后缀(参数Zc:wchar_t也将被忽略)。

在MacOS安装遇到的问题:

1)目录write权限。导致extension的依赖无法正确安装到指定目录,比如/Library/Frameworks,因此会报告xxx is not a function。没有安装日志,这个问题就很难查清楚了。
2)64bit环境下,extension需要重新编译。

Dreamweaver扩展注意事项的更多相关文章

  1. Dreamweaver 扩展开发:C-level extensibility and the JavaScript interpreter

    The C code in your library must interact with the Dreamweaver JavaScript interpreter at the followin ...

  2. Dreamweaver 扩展开发: Calling a C++ function from JavaScript

    After you understand how C-level extensibility works in Dreamweaver and its dependency on certain da ...

  3. Dreamweaver 扩展开发:文档路径等信息的处理

    //browseFile(fieldToStoreURL){ //getFullPath(filePathURL){ //getSimpleFileName() { //fixUpPath(docUR ...

  4. [php扩展] php安装扩展注意事项

    添加扩展的时候注意此3项 用的编译器版本:VC11... 安装的php版本:x86/x64 是否线程安全:enabled / disabled

  5. php 安装mysql扩展注意事项

    1.yum search php-mysql (Linux环境) 这一点,根据具体的情况会遇到不同的搜索结果.我搜索到的结果是:php-mysql.i386 : A module for PHP ap ...

  6. 毕业设计 之 二 PHP集成环境(Dreamweaver)使用

    毕业设计 之 二 PHP学习笔记(一) 作者:20135216 平台:windows10 软件:XAMPP,DreamWeaver 一.环境搭建 1.XAMPP下载安装 XAMPP是PHP.MySQL ...

  7. LINQ学习笔记——(1)添加扩展方法

    目的:  对已存在类型的行为进行扩展 注意事项:    扩展方法是一种特殊的静态方法    扩展方法必须在静态类中定义    扩展方法的优先级低于同名的类方法    扩展方法只在特定的命名空间内有效 ...

  8. 毕业设计 之 二 PHP学习笔记(一)

    毕业设计 之 二 PHP学习笔记(一) 作者:20135216 平台:windows10 软件:XAMPP,DreamWeaver 一.环境搭建 1.XAMPP下载安装 XAMPP是PHP.MySQL ...

  9. SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块

    原文地址:http://www.awflasher.com/flash/articles/swfobj.htm SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块原文:S ...

随机推荐

  1. webform--LinQ的相关操作

    LinQ:LineQ to Sq类:集成化的数据访问类:与ado.net没区别:--------------------------------------------LinQ的创建:右键,添加新建项 ...

  2. [HTML]安卓下<video>无法点击播放

    在<video>外面添加<div>并加上data-tap-disabled="true"属性即可

  3. Setup QT 5.5.1 + OpenCV 3.0 + Visual Studio 2013 on windows 10

    1. Install Visual studio 2013 community version which is free to use for personal usage. 2. Setup th ...

  4. css书写规范及特殊样式

    1.CSS书写顺序: (1)位置:position.top.right.z-index.display.float (2)大小:width.height.padding.margin (3)文字系列: ...

  5. LDO和DC-DC器件的区别

    DCDC的意思是直流变(到)直流(不同直流电源值的转换),只要符合这个定义都可以叫DCDC转换器,包括LDO.但是一般的说法是把直流变(到)直流由开关方式实现的器件叫DCDC.      LDO 是低 ...

  6. 展开、收起div的jQuery代码

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Python-day-21

    1.请求周期 url> 路由 > 函数或类 > 返回字符串或者模板语言? Form表单提交: 提交 -> url > 函数或类中的方法 - .... HttpRespon ...

  8. fiddler抓取Android 真机app数据包

    fiddler功能强大 不仅能抓pc上的请求还能抓取手机上的请求.下面以fiddler4 +android手机为例介绍一下 手机抓包. 官网下载fiddler后下一步下一步安装成功. 首先是fiddl ...

  9. Exception Type & Exception Code

    1.Exception Type 1)EXC_BAD_ACCESS 此类型的Excpetion是我们最长碰到的Crash,通常用于访问了不改访问的内存导致.一般EXC_BAD_ACCESS后面的&qu ...

  10. Redis基础(转)

    ServiceStack.Redis实践    Redis的C#客户端我选择的是ServiceStack.Redis,相比Booksleeve redis-sharp等方案,它提供了一整套从 Redi ...