Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Não compila


Guest FErnando Saboia

Pergunta

Guest FErnando Saboia

Estou quero compilar esse código:

library CSOnline05;

uses

HTTPApp,

ISAPIApp,

Principal in 'Principal.pas' {WebModule1: TWebModule},

UnitSenha in 'UnitSenha.pas';

{$R *.RES}

exports

GetExtensionVersion,

HttpExtensionProc,

TerminateExtension;

begin

Application.Initialize;

Application.CreateForm(TWebModule1, WebModule1);

Application.Run;

end.

Mas pelo CTRL + F9 apresenta esse erro.

[Error] CSOnline05.dpr(16): Undeclared identifier: 'Application'

[Error] CSOnline05.dpr(16): Missing operator or semicolon

[Error] CSOnline05.dpr(17): Missing operator or semicolon

[Error] CSOnline05.dpr(18): Missing operator or semicolon

alguém poderia me ajudar.

O erro é parado nessa linha

begin

Application.Initialize; ( Linha que apresenta o Erro)

Application.CreateForm(TWebModule1, WebModule1);

Application.Run;

end.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

[Error] CSOnline05.dpr(16): Undeclared identifier: 'Application'

[Error] CSOnline05.dpr(16): Missing operator or semicolon

[Error] CSOnline05.dpr(17): Missing operator or semicolon

[Error] CSOnline05.dpr(18): Missing operator or semicolon

Esses erros são:

Indentificador não declarado 'Application'

Faltando operador ou ponto e virgula

A estrutura da sua dll não esta correta.

Veja exemplos:

http://www.portalprogramacao.org/forum/vie...hp?f=9&t=55

http://br.answers.yahoo.com/question/index...28185342AA7Ivbm

http://www.devmedia.com.br/articles/viewcomp.asp?comp=7902

http://forum.devmedia.com.br/viewtopic.php...440a86095cab45a

http://www.ramosdainformatica.com.br/art_r...es01.php?CDA=32

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Opa

Application se refere a um "Aplicativo" e fica na Unit Forms

Porém como se trata de uma DLL não há necessidade dessa cláusula

O que voce tem que fazer é o seguinte

library CSOnline05;
uses
HTTPApp,
ISAPIApp,
Principal in 'Principal.pas' {WebModule1: TWebModule},
UnitSenha in 'UnitSenha.pas';

{$R *.RES}

exports
GetExtensionVersion,
HttpExtensionProc,
TerminateExtension;

end.
Então se algum desses procedimentos que estão sendo exportados fizer o uso do WebModule, então você teria que criá-lo em tempo de execução ouu gerenciar o carregamento da DLL exemplo
library CSOnline05;
uses
Windows,
HTTPApp,
ISAPIApp,
Principal in 'Principal.pas' {WebModule1: TWebModule},
UnitSenha in 'UnitSenha.pas';

{$R *.RES}

exports
GetExtensionVersion,
HttpExtensionProc,
TerminateExtension;

procedure DllMain(reason: integer);
begin
   case reason of
   dll_process_attach: webmodule1 := twebModule1.Create;
   dll_process_detach:
   if assigned(WebModule1) then
   freeandnil(webmodule1);
   end;
end;

begin
   DllProc := @DllMain;
   DllProc(dll_process_attach);

end.

É uma base, mas pela estrutura que voce passou acredito que foi mexido os códigos, então com certeza

não vai ser somente isso...

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Fernando Saboia
Opa

Application se refere a um "Aplicativo" e fica na Unit Forms

Porém como se trata de uma DLL não há necessidade dessa cláusula

O que voce tem que fazer é o seguinte

library CSOnline05;
uses
HTTPApp,
ISAPIApp,
Principal in 'Principal.pas' {WebModule1: TWebModule},
UnitSenha in 'UnitSenha.pas';

{$R *.RES}

exports
GetExtensionVersion,
HttpExtensionProc,
TerminateExtension;

end.
Então se algum desses procedimentos que estão sendo exportados fizer o uso do WebModule, então você teria que criá-lo em tempo de execução ouu gerenciar o carregamento da DLL exemplo
library CSOnline05;
uses
Windows,
HTTPApp,
ISAPIApp,
Principal in 'Principal.pas' {WebModule1: TWebModule},
UnitSenha in 'UnitSenha.pas';

{$R *.RES}

exports
GetExtensionVersion,
HttpExtensionProc,
TerminateExtension;

procedure DllMain(reason: integer);
begin
   case reason of
   dll_process_attach: webmodule1 := twebModule1.Create;
   dll_process_detach:
   if assigned(WebModule1) then
   freeandnil(webmodule1);
   end;
end;

begin
   DllProc := @DllMain;
   DllProc(dll_process_attach);

end.

É uma base, mas pela estrutura que voce passou acredito que foi mexido os códigos, então com certeza

não vai ser somente isso...

abraço

Cara você foi perfeito, Deu certo na sua primeira opção Grande Abraco.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...