[firebase-br] [OFF] D2006 e Dlls

Ricardo H. Rekowsky (BrainInfo) ricardo em braininfo.com.br
Qua Maio 9 21:12:11 -03 2007


Boa Noite Pessoal!
 
Sei que o assunto é 100% OFF, mas tentei em algumas listas de delphi e não
consegui resolver meu problema....
 
 estou tentando fazer uma rotina que abre tabelas recebendo o nome delas
como parâmetros e estou recebendo o seguinte erro:

"project x raised exception class EInvalidClass with message 'Invalid class
typecast' "

A chamada genérica é a seguinte

BancoDados:=Datamod.Database;
tab := tabela;
dstab := dstabela;
tsTab := transacao;
DLLHandle := LoadLibrary('bdb0501.dll');
if DLLHandle <> 0 then
begin
// associa as funções da dll
@AbreTabela := GetProcAddress(DLLHandle, 'AbrirTabela');
@ControlaDisplay := GetProcAddress(DLLHandle, 'ControlaDisplay');
end;
AbrirTabela(tab,dsTab,tsTab);

onde tab é TibDataset, dsTab o datasource e tsTab uma TIbTransaction...

na dll bdb0501.dll tenho a seguinte rotina:

procedure AbrirTabela(tab:TIBDataset; dsTab:TDataSource;
tsTab:TibTransaction); export;
begin
Tabela :=tab;
DSTabela :=dsTab;
Transacao:=tsTab;
Tabela.Open;
end;

e ela é exportada como "AbrirTabela".

Alguém saberia me dizer pq estou recebendo este erro ao tentar abrir a
tabela? A tabela abre depois do erro e consigo percorrer os registros,
mas não consigo inserir, alterar ou excluir nada porque recebo o mesmo erro
novamente.

Grato,

Ricardo


No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08/05/2007
14:23
 



Mais detalhes sobre a lista de discussão lista