15. februar 2007 - 21:04Der er
5 kommentarer og 1 løsning
Vise "intern" form i dll
hej
Jeg har 3 forms i en dll fil.. JEg kan godt åbne den ene form og få den vist.. På form1 er der så en knap som skulle åbne form 2 men det virker ikke.. Der kommer bare en masse access violations..
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
prøv at placere uses sharemem eller hvad der er delphi memorymanager hedder, som det første i din uses i din dll, du kan læse mere om det hjælpen, der står hvordan du placerer en form i en dll
Hej Martin, er den ikke kun nødvendig hvis du vil overføre lange strings mellem prog og procedure ?? Og så skal den også bruges i hovedprogrammet. God idé iøvrigt.
Du har garanteret glemt at sætte hApp og handles til din application, men det er nu lidt svært at gætte når man ikke kan se din kode.
Jeg snuppede lige denne kode fra et af mine (multiform) dll'er.
var OldDLLAppHandle : THandle;
function XYZShowModal(hApp, hOwnerForm : THandle; const aID : integer; aDatabase, aLogin, aPassword : pchar) : integer; stdcall; begin OldDLLAppHandle := Application.handle;
if hApp = 0 then hApp := GetActiveWindow;
Application.Handle := hApp;
try DM := TDM.Create(Application,hOwnerForm,aDatabase,aLogin,aPassword); try frmXYZList := TfrmXYZList.Create(Application, aID); try result := integer(frmXYZList.ShowModal = mrOK); finally frmXYZList.Release; end; finally DM.Free; Application.Handle := OldDLLAppHandle; end; except on e: EDBEngineError do Application.Handle := OldDLLAppHandle; on e: Exception do Application.Handle := OldDLLAppHandle; end; end;
... nu åbner du vel ikke dll'et fra dll'et for at åbne form nr. 2?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.