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

Delhpi E Usando Dll


Guest Thiago Holanda

Pergunta

Guest Thiago Holanda

Opa Pessoal fiz um projeto no delphi usando uma dll criada no matlab,quando criei essa dll no matlab tb foram criados varios outros arquivos pelo o matlab porem q não foram usados diretamente no meu projeto do delphi apenas a propria dll foi usada no meu projeto usando o import library,so q quando eu executo esse projeto no computador q foi criada a dll tudo funciona normalmente mas quando eu tento executar esse projeto em outro computador ocorre um mensagem de erro "Classe não registrada",tipo copiei todos os arquivos q foram criados pelo o matlab inclusive a dll e todo o meu projeto no delphi em uma pasta e tentei executar e fazer com q o projeto funcionasse em outros computadores e não consegui,alguém tem alguma ideia de como fazer isso funcionar corretamente???tipo eu tenho q fazer alguma outra coisa nas outras maquinas diferentes daquela q foi criada a dll,talvez configurar alguma coisa no windows 98 q é a plataforma q estou utilizando para esse projeto,

Agradeço a atenção de vocês, Thiago

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Guest Thiago Holanda

Opa valeu pela ajuda agora eu já fiz isso e ocorreu o seguinte erro:

Load Library("Soma4_1_0.dll") Failed

GetLastError returns 0x00000485

você sabe o q poderia ser isso??? Agradeço a sua Atenção,

Thiago

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Thiago Holanda

opa beleza veio, tipo eu estou fazendo uma conexão entre o delphi e matlab ai o que acontece ciei uma dll no matlab importei ela para o delphi e tentei usa-la para fazer calculos, ate ai tudo bem so que quando eu pego o pacote de arquivos criados na maquina e copio para outro maquina acontece esse erro "Classe Não Registrada" ai tentei fazer o que você me falou mas ai acontece isso q lhe falei na msg anterior, agora tipo se isso for no win98 no win xp quando tentei fazer funcionou bem,mas tipo o sistema aqui so funciona em win98, fiz so um teste no win xp ai tipo regsvr32 nomedadl funcionou agora no win98 não, talvez seja de uma maneira diferente?vo colocar aqui o codigo do programa teste q fiz ai abaixo

procedure TForm1.Button1Click(Sender: TObject);

var

n:Soma4_;

x:array[1..10] of variant;

i:integer;

z:OleVariant;

begin

n:=CoSoma4_.Create;

for i:=1 to 10 do

begin

x:=i;

end;

n.somatamanhodoarray(1,z,VarArrayOf(x));

ShowMessage(z);

end;

Link para o comentário
Compartilhar em outros sites

  • 0
opa beleza veio, tipo eu estou fazendo uma conexão entre o delphi e matlab ai o que acontece ciei uma dll no matlab importei ela para o delphi e tentei usa-la para fazer calculos, ate ai tudo bem so que quando eu pego o pacote de arquivos criados na maquina e copio para outro maquina acontece esse erro "Classe Não Registrada" ai tentei fazer o que você me falou mas ai acontece isso q lhe falei na msg anterior, agora tipo se isso for no win98 no win xp quando tentei fazer funcionou bem,mas tipo o sistema aqui so funciona em win98, fiz so um teste no win xp ai tipo regsvr32 nomedadl funcionou agora no win98 não, talvez seja de uma maneira diferente?

É possível que essa DLL necessite de outro arquivo (possivelmente outra DLL) que não está presente no computador com Win98 e está presente no computador com WinXP. Pode ser isso, ou não. É apenas um chute.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Caro Thiago Holanda,

ando á dias a tentar usar uma dll compilada em MatLab no Delphi7 e não há jeito.

Até que descobri este forum e mais precisamente as tuas palavras, deu para perceber que conseguiste.

Não há hipotese de me arranjares um pequeno exemplo que funcione? ou então ajudar-me a resolver

o meu problema? aqui vai um caso simples que criei so para experimentar.

Crei uma função soma no Matlab e Compilei. retornou a "soma.dll", "soma.h", "soma.c" e mais alguns.

No delphi :

__________________________________________________

unit FunctionImportUnit;

interface

function mlfSoma(a, b : Integer) : Integer; cdecl;

external 'soma.dll'

implementation

end.

______________________________________________________

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls,FunctionImportUnit;

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

sum : Integer;

begin

sum := mlfSoma(1, 1);

end;

end.

______________________________________-

Ao executar esse codigo da erro: "Acess violation at address 0000000. Read of address 0000000"

Agradecia imenso se me desses uma ajuda....

meu email: ricardmag@iol.pt

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...