Domanda

Ho forme nella mia applicazione che derivano da un antenato comune, come:

TAtFormBaseIW = class (TIWAppForm) e   TAtFormExplorerIW = class (TAtFormBaseIW)

Questo funziona per alcune forme, ma non per gli altri.

Permettetemi di fare un ipotesi: sembra funzionare per tutte le forme che, quando creato in Delphi prima IW 10, ma non per le forme che ho creato con IW 10. Cosa succede con le forme più recenti: HWenever voglio caricarli in l'IDE, vengono interpretati come forme win32, alcune proprietà sono ignorati (tutte le proprietà Win32 tipici come clientWidth), e mi è stato detto che non posso mettere IW componenti su queste forme.

Rendendoli discendenti diretti di TIWAppForm, salvandoli e utilizzando un normale editor di testo per cambiare di nuovo le opere. Dopo una ricompilazione si fanno vedere bene nel browser, ma mai in IDE.

Qualche idea di cosa sta succedendo?

È stato utile?

Soluzione

Mea culpa, mea maxima culpa. Questo problema non ha nulla a che fare con IntraWeb, ma con il modo in cui una forma derivata dovrebbe essere aggiunto al progetto.

Invece di limitarsi a cambiare TIWAppForm a TAtFormBaseIW, dopo aver aggiunto un nuovo form al progetto, devo fare questo:

Seleziona nella IDE

File / Nuovo / Altri articoli / ereditabili

e poi il modulo base che si desidera ricavare il modulo da.

Se si desidera attivare un modulo esistente in un derivato, cambiare anche la parola chiave che porta oggetto nel file DFM a ereditato .

Si può leggere su questo qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top