SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

楼主: shiyiming
打印 上一主题 下一主题

如何制作*.DLL格式的文件?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
11#
 楼主| 发表于 2004-10-20 09:38:40 | 只看该作者

hoho

your code is the standard procedure of creating COM object and operating it.
"new" is the keyword in C# to create a object. workspacemanager is a COM object.
the regular way to call DLL looks like this-----
"function myfunc; external 'my.dll' name 'outfunc'"
even i do not know the exact syntax of C#,  i think they are different.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
12#
 楼主| 发表于 2004-10-20 10:39:40 | 只看该作者

...

I asked my friends and know there is syntax difference between Delphi and MS products ,and also Sun java.  is there 'New' in delphi?

In C#,i know a direct function to call DLL files ,for example:
DllImport("kernel32.dll")
private static extern int GetVolumeInformation(
                                string  lpRootPathName,
                                string  lpVolumeNameBuffer,
                                int  nVolumeNameSize,
                                ref int  lpVolumeSerialNumber,
                                int  lpMaximumComponentLength,
                                int  lpFileSystemFlags,
                                string  lpFileSystemNameBuffer,
                                int  nFileSystemNameSize
                                );

but I never tried it on SAS.dll;

Busy today, later discuss with you !
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
13#
 楼主| 发表于 2004-10-20 13:56:34 | 只看该作者

hoh

delphi uses PASCAL as its programming language.
we use--  workspacemanager=createobject('workspacemanagerclass');
create... is the common way to create a new object.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
14#
 楼主| 发表于 2004-10-20 15:08:02 | 只看该作者

willon老兄.你有资料吗?

本来人家是问怎么用sas作dll,现在变成了我们讨论怎么使用sas的DLL了.
对了,我把sas提供的COM object都安装到delphi上了但是有一个问题就是怎么用.这就很麻烦了.
我可以看到那些对象的函数和过程.但是没有调用的资料以及详细的对象的hierarchy的介绍.还是没法用.麻烦.对了,willon老兄.你有资料吗?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
15#
 楼主| 发表于 2004-10-22 00:30:44 | 只看该作者

...

sas,我所知道的,不能做dll,否则写出的sas程序可以脱离sas系统运行了,这是sas公司无论如何都不允许的。

SAS/IT我也只能算一知半解,以前sas公司让我看IT的help,就在sas安装目录下的integration technology目录下(非常垃圾),我是一页页翻过来的。不过由于最近这边买了IT,所以以后可能接触的很多。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
16#
 楼主| 发表于 2004-10-22 10:16:45 | 只看该作者

调用其他应用程序的dll

其实我知道SAS倒是可以调用其他应用程序的dll,当然这需要那个dll的接口公布出来。

我觉得我们倒是可以讨论一下这个主题,这样就可以把别人已经开发的东西,轻易的嵌入自己的SAS程序了,免得2次3次重复开发。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
17#
 楼主| 发表于 2004-10-22 11:08:52 | 只看该作者

。。。

hate ‘HAUTO’!
这垃圾,用起来真要命!调调别的dll还凑活,不过不知道怎么回事,SAS一直没有做什么新的改进,一点都不给你期待。

就像proc dbload,明明可以输出label,功能还真的不错,可惜一直都不升级,导入的字段名限制为8个字符,输出的excel限制在16k行,还是excel5格式。

真搞不懂sas公司在吃什么饭?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
18#
 楼主| 发表于 2009-4-17 00:55:52 | 只看该作者

Re: 如何制作*.DLL格式的文件?

楼上三位都是响当当的大侠
现在9.2可以调用dll了
不过编译dll似乎还不行吧,C不是很好,要是SAS可以做就好了8)
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
19#
 楼主| 发表于 2009-4-18 18:31:32 | 只看该作者

Re: 调用其他应用程序的dll

班门弄斧一回~~~等着砖头砸
我知道至少在9.0就可以使用其他程序的DLL了。
偶尔我也这样调用系统命令。
这些接口信息都应该写在sascbtbl文件中。使用module调用。
C的也可以直接使用proc proto调用。
使用前调用proc compile。

不知道前辈还有没有其他方法~~~
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
20#
 楼主| 发表于 2009-4-19 13:51:10 | 只看该作者

Re: 如何制作*.DLL格式的文件?

SAS(R) 9.2 Changes and Enhancements for Base SAS(R)
Session 1: New and Enhanced Procedures and Statements

<!-- m --><a class="postlink" href="http://www.sas.com/apps/elearning/elearning_details.jsp?pubcode=RLSP92C1">http://www.sas.com/apps/elearning/elear ... e=RLSP92C1</a><!-- m -->
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 15:53 , Processed in 0.320941 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表