0
我在IntraWeb,Delphi2010中設置了一個「bpl」加載模塊,並且發現了以下問題:
我沒有創建應用程序實例,是作爲一種內部形式。
。IntraWeb中的「bpl」加載
procedure CargaDoSubModulo;
type
TIWFormClass = class of TIWForm;
var
Integra : IIntegracaoIW;
Formulario : TIWForm;
intClas : Integer;
strForm : String;
begin
strForm := srtPacotes + '_' + Copy (IntToStr (Rtn_Alternativa) + 10000), 2, 4);
// Descrição do formulário
strDescricaoTela := Des_Tela;
// Nome da classe do formulário
vrtClasseModulo := 'p_' + strForm + '.dll';
// Nome da rotina interna a ser carregada
strForm := 'iwfrm_' + strForm;
// Nome da classe do formulário
vrtNomeFormulario := 'T' + strForm;
// Verificação se a rotina e compativel com o sistema iwfrm_hrb_0010
intClas := -1;
if WebApplication.FindComponent(strForm) = nil then
begin
Formulario := TIWFormClass(FindClass(vrtNomeFormulario)).Create(WebApplication);
if not Supports (Formulario, IIntegracaoIW) then
begin
WebApplication.ShowMessage(CargaTexto(msnRotIncompIntgra), smAlert);
Exit;
end;
Integra := Formulario as IIntegracaoIW;
with Integra do
begin
SetServidor(ParServidor1.Servidor); // 1
SetAreaTrabalho(ParServidor1.AreaTrabalho); // 2
SetIdUsuario(intUsuario); // 3
SetNomeUsuario(iwlStUsuario.Caption); // 11
SetAcesso(intAcesso); // 4
SetEmpresa(ParServidor1.Empresa); // 5
SetFilial(ParServidor1.Filial); // 6
SetIdClasse(intClas); // 8
SetVersao(strVersaoInterna); // 10
SetDescricao(Des_Tela); // 7
SetEnderecoIP(strIdentificacaoPorta); // 13
SetDataTrabalho(DateToStr(dtDataTrabalho)); // 14
SetIdentificacaoSistema(iwlIdentificacao.Caption); // 12
SetModuloCarga(Rtn_Busca); // 9
end;
end;
TIWAppForm(WebApplication.FindComponent(strForm)).Show;
end;
我試着改進你的代碼格式,但我仍然不明白你的問題。你可以編輯它,使它更清楚你想要做什麼,幷包括你得到的任何錯誤信息? Faloportuguêssóum pouquinho。 – Argalatyr 2009-09-29 13:15:01
那麼... 我設置了一個模塊選擇器... 主模塊是一個Dll,輔助模塊是Bpl,從選擇器(Dll)內部加載,或者是: 第一次設置vrtClasseModulo中模塊的名稱; 第二個設置vrtNomeFormulario中模塊的形式的名稱,即Class; 第三驗證她是否存在;和 第4次初始化和我目前形成。 就是這樣,我想要做.... 這是值得的幫助...和我說一些英語....很少.... – Amir 2009-09-30 20:08:03