Denna koden innehåller ett uppenbart fel men måndagssjukan måste vara av en allvarligare kaliber denna dag... Får man fråga vad du ska med pekaren till ? Anledningen till att det tar stopp på en gång är att det inte finns någon messageloop som kollar ifall det finns några meddelanden. Du får inte glömma bort att det är helt vanlig programmering, det är inget magiskt med .net.Problem med att skapa en publik instans av en formulärklass i en module...
Det jag önskar göra är att skapa en publik pekare till ett MDI formulär genom att starta applikationen med Sub Main...Olyckligtvis så stängs formuläret så fort End Sub körs för Sub Main...Finalize-metoden för formuläret körs direkt efter och då är det givetvis klippt ..;-)
Man skulle ju kunna köra formuläret direkt som uppstartningsobjekt men då får jag ingen pekare...
Tacksam för tips denna besvärliga morgon...
Public Module modMain
'
Public objMDI As frmMDI
' Startprocedur
Public Sub Main()
'
objMDI = New frmMDI
objMDI.Show()
'
End Sub
End ModuleSv: Problem med att skapa en publik instans av en formulärklass i en module...
Kanske enklare att köra MDI som startup och lösa pekaren på annat sätt ?
/JohanSv: Problem med att skapa en publik instans av en formulärklass i en module...
Du har säkert rätt...
Jag har en annan klass som skall innehålla alla värden som hanteras av formulärinstansen och någonstans så skall man ju se till att dessa "arbetar tillsammans" . Detta hade jag tänkt att göra i Sub Main...
Om inte detta går att lösa så vet jag inte exakt vad man skall ha Sub Main till...
Givetvis kan jag göra på det andra sättet men jag blev lite nyfiken på varför det inte funkade... Sv: Problem med att skapa en publik instans av en formulärklass i en module...
Två sätt:
1) byt ut .Show() mot .ShowDialog()
2) lägg till System.Windows.Forms.Application.Run() efter .Show()Sv: Problem med att skapa en publik instans av en formulärklass i en module..
Nu du säger det så kommer jag ihåg att det var ShowDialog som man skulle använda istället för Show..
Show använde man ju flitigt i VB6...Blandade ihop det en hel del...;-)
Tack !!!