Fórum Criando DLLs #171616
26/07/2003
0
É uma prazer juntar-me a vcs nesse fórum. Espero poder contribuir bastante, mas, no momento, preciso de ajuda.
Preciso criar uma dll em delphi para usá-la em uma página ASP. Criei a DLL seguindo as orientações
do artigo ..., mas na hora de registrar está dando um erro:
No MTS a mensagem diz que o arquivo não contem componentes ou biblioteca de tipos. Utilizando o
comando REGSVR32, a mensagem de erro diz que o arquivo foi carregado, mas não pode ser registrado
porque o ponto de entrada DllRegisterServer não foi localizado.
Vcs saberiam informar o que está faltando para que a dll criada possa ser registrada no Windows.
Segue abaixo o código exemplo que estou usando.
abs e desde já obrigado.
André Dantas
CÓDIGO
library Comparar;
uses
SysUtils,
Classes;
function Max(a, b : double): double; export; stdcall;
begin
if (a > b) then
result := a
else
result := b;
end;
exports
Max index 1;
begin
end.
Avfdantas
Curtir tópico
+ 0Posts
27/07/2003
Glauberms
Espero que o ajude!
[i:b3b65a8aa3]Edite diretamente no DPR, e depois salve como Funções.dpr:
Library Funções;
Uses SysUtils,WinTypes,WinProcs;
{ Uma função que tira os espaços no início e no final de uma string }
Function Trim(J:String):String; Export;
Begin
While J[Length(J)]=#32 do Dec(J[0]);
If Length(J)>1 then
While (J[1]=´ ´) do
Begin
Delete(J,1,1);
If Length(J)<=1 then J:=´´;
end;
Result:=J;
end;
Exports { Torna visivel para os programas }
Trim;
Begin
End.
Para usar num programa:
Unit Unit1;
Interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Var
Form1: TForm1;
Implementation
{ Declara a funcao }
Function Trim(J:String):String; External ´funcoes.dll´;
{$R *.DFM}
Procedure TForm1.FormClick(Sender: TObject);
begin
Caption:=Trim(´ Visite sempre o Delphi Club ´); { Note os espacos }
end;[/i:b3b65a8aa3]
Gostei + 0
27/07/2003
Avfdantas
Obrigado pela ajuda. Realmente funcionou! Porém, apenas quando uso a DLL em outro aplicativo Delphi. Quanto tento registrar a DLL para usá-la em uma página ASP, por exemplo, os erros continuam acontendo.
Talvez o problema seja que a estrutura da DLL que reportei, não possui a separação em classes. Para que seja registrada no windows a estrutura deveria ser, por exemplo:
nome da dll
classe 1
metodo 1
metodo 2
classe 2
metodo 1
metodo 2
metodo 3
Não consegui criar isso em Delphi.
De qualquer forma obrigado pela força
Gostei + 0
27/07/2003
Glauberms
[url]http://lib.seven.com.br/arquivos/687/asp.zip[/url]
No link da página onde se faz o download [url]http://lib.seven.com.br/[/url] existe mais artigos.
Tomara que desta vez de certo...
Obs: Vi que ninguém tinha te ajudado e só estou tentando. Como já disse não conheco muito de ASP
Gostei + 0
29/07/2003
Avfdantas
Realmente o grande problema é fazer essa DLL ser registrada no Windows. Não acho artigo, livro, exemplos, ... nada que fale sobre isso. Mas vou continuar tentando, se descobrir eu publico no fórum.
abs,
Gostei + 0
29/07/2003
Afarias
|Windows.
Vc está criando uma Dll normal?? (é o q me parece)
O que vc quer é uma biblioteca ActiveX (só bibliotecas ActiveX são registrasdas como o REGSVR32)
Arquivo -> Novo -> Aba ActiveX -> selecione ActiveX Library.
Depois, vc pode adicionar seus objetos (como um Active Server Object por ex.)
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)