Hej! Välkommen Hugo, Hej Pelle, Ok Hugo, Hej igen,VBA i MS Project
Jag har skapat en applikation i MS Project där användaren via en UserForm ska ange resurser kopplade till den aktiva aktiviteten. Projectfilen (filerna) är kopplade till en resurspool.
Ibland när man sparar filerna, går fram och tillbaks mellan filerna eller in och ut ur formuläret får jag ibland felmeddelandet Run-Time error 57 och meddelandet att objektet (formuläret) inte kunde hittas.
Vad göra? Hur ta mig vidare? Formuläret laddas först via Load och sedan Show. Detta anropas via en vanlig procedur.
Ny medlem
Hugo JörgensenSv: VBA i MS Project
Det är inte så att du glömmer och köra form.Unload eller något så det blir fullt i minnet eller att för många forms skapas efter ett tag.Sv:VBA i MS Project
Tack för svaret men jag laddar formuläret med först load och sedan show. När användaren lämnar formuläret kör jag först hide och sedan unload.
När jag tittar på minnesbelastningen i Task Manager eller på processen för Project så ökas inte storleken där heller.
Jag använder en matris för att ladda resurser, en för att ladda vissa aktivitetsfält och en för aktivitetens resurstilldelningar. Dessutom har jag en matris för att ta hand om formulärets värden.
Resursmatrisen har jag satt till en fast matris på 1000 x 5 så det borde inte vara något problem där heller.
HugoSv: VBA i MS Project
man kanske då inte skall stirra sig blind på form-laddningarna då. Frågan är vad som görs i form_load. Vad laddas? Skapar du objekt som du inte sätter till nothing kanske? Öppnar databaser och inte stänger och frigör connections? Varianterna är många.Sv:VBA i MS Project
Problemet är "löst". Jag lade ner världens tid på problemet men det är en bugg i Project 2002. Även utan min VBA-kod utan helt och hållet "rena" filer kan jag återskapa problemet fast det tar längre tid. På något sätt tappar Project kontakten med filen på hårddisken. När jag inte kan ladda formuläret kan jag spara ner filen under ett annat namn och sedan fortsätta arbeta.
I Project 98 såväl som i 2003 fungerar all kod prickfritt.