08. juni 2005 - 20:19Der er
7 kommentarer og 1 løsning
Køre Sub i thread
Hej. Jeg bruger nedenstående kode til at tilføje grupper og treeviews til min menu. Den henter en del data så den er lang tid om at starte op....(layoutet er meget forsinket). Hvordan løser jeg dette bedst så grafikken kommer frem med det samme.
Kan jeg evnt kører den i en thread i baggrunden? Hvis ja så hvordan?
Private Sub InitializeMenu()
Dim YearSQL As OracleDataReader Dim DateSQL As OracleDataReader Dim MonthSQL As OracleDataReader Dim DatasetSQL As OracleDataReader
Dim Hitrate As Group Dim HitrateOverblik As Group Dim ListeNumre As Group Dim Funktioner As Group
Dim Agents As Node Dim AgentsNode As Node Dim DatasetNode As Node Dim YearNode As Node Dim MonthNode As Node Dim DateNode As Node
Try
Dim DatasetCount As Integer = 0 Dim YearCount As Integer = 0 Dim MonthCount As Integer = 0 Dim i As Integer = 0 Dim Dato As Date Dim DatasetImage As String
DatasetSQL = DBCommands.ExecuteSQL("select dataset from hitrate group by dataset", DBCommands.DBConnection.OracleDrift).executereader
While DatasetSQL.Read = True
YearSQL = DBCommands.ExecuteSQL("select extract(year from dato) as HitYear from hitrate where dataset = '" & DatasetSQL.Item("dataset") & "' group by extract(year from dato) order by extract(year from dato) DESC", DBCommands.DBConnection.OracleDrift).executereader
If DatasetSQL.Item("dataset") = "DAT" Then DatasetImage = "img/flag_dk.gif" ElseIf DatasetSQL.Item("dataset") = "SE" Then DatasetImage = "img/flag_se.gif" ElseIf DatasetSQL.Item("dataset") = "NO" Then DatasetImage = "img/flag_no.gif" End If
MonthSQL = DBCommands.ExecuteSQL("select extract(month from dato) as HitMonth from hitrate where dataset = '" & DatasetSQL.Item("dataset") & "' and extract(year from dato) = " & YearSQL.Item("hityear") & " group by extract(month from dato) order by extract(month from dato) DESC", DBCommands.DBConnection.OracleDrift).executereader While MonthSQL.Read = True MonthNode = DatasetNode.Nodes(YearCount).Nodes.Add(MonthName(MonthSQL.Item("HitMonth"), False)) MonthNode.Image = Image.FromFile("img/table.ico")
For i = 1 To Date.Today.DaysInMonth(YearSQL.Item("hityear"), MonthSQL.Item("hitmonth")) Dato = i & "-" & MonthSQL.Item("hitmonth") & "-" & YearSQL.Item("hityear")
Dim Agents As Node Dim AgentsNode As Node Dim DatasetNode As Node Dim YearNode As Node Dim MonthNode As Node Dim DateNode As Node
Try
Dim DatasetCount As Integer = 0 Dim YearCount As Integer = 0 Dim MonthCount As Integer = 0 Dim i As Integer = 0 Dim Dato As Date Dim DatasetImage As String
DatasetSQL = DBCommands.ExecuteSQL("select dataset from hitrate group by dataset", DBCommands.DBConnection.OracleDrift).executereader
While DatasetSQL.Read = True
YearSQL = DBCommands.ExecuteSQL("select extract(year from dato) as HitYear from hitrate where dataset = '" & DatasetSQL.Item("dataset") & "' group by extract(year from dato) order by extract(year from dato) DESC", DBCommands.DBConnection.OracleDrift).executereader
If DatasetSQL.Item("dataset") = "DAT" Then DatasetImage = "img/flag_dk.gif" ElseIf DatasetSQL.Item("dataset") = "SE" Then DatasetImage = "img/flag_se.gif" ElseIf DatasetSQL.Item("dataset") = "NO" Then DatasetImage = "img/flag_no.gif" End If
MonthSQL = DBCommands.ExecuteSQL("select extract(month from dato) as HitMonth from hitrate where dataset = '" & DatasetSQL.Item("dataset") & "' and extract(year from dato) = " & YearSQL.Item("hityear") & " group by extract(month from dato) order by extract(month from dato) DESC", DBCommands.DBConnection.OracleDrift).executereader While MonthSQL.Read = True MonthNode = DatasetNode.Nodes(YearCount).Nodes.Add(MonthName(MonthSQL.Item("HitMonth"), False)) MonthNode.Image = Image.FromFile("img/table.ico")
For i = 1 To Date.Today.DaysInMonth(YearSQL.Item("hityear"), MonthSQL.Item("hitmonth")) Dato = i & "-" & MonthSQL.Item("hitmonth") & "-" & YearSQL.Item("hityear")
hm... umiddelbart vil jeg sige at det er fordi at din metode fejler et sted og derfor dør, men jeg kan ikke umiddelbart se hvorfor at din kode skulle kunne fejle.
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.