Arbejde med flere tråde. Hvordan gør man?
Hejsa.Jeg har lige et lille spørgsmål.
I mit efterhånden lidt store program, er jeg stødt på en lille mur.
Dvs. jeg skal til at finde ud af hvordan man arbejder med flere threads. Mit program skal køre over nogle langsomme 1 Mbit internetforbindelser og hente data fra SQL server mv.
Programmet kører, men mine forms loades kun halvt og så fryser de fordi SQL forespørgelser mv tager for lang tid om at blive udført.
Derfor kunne jeg godt tænke mig at få lagt noget over i andre tråde.
Specielt på min splashscreen, hvor jeg fylder 2 store datasets med varenumre. Her henter jeg over 200.000 varenumre ind i disse datasets, hvilket gør at min hoved form ser lidt kikset ud indtil splash screen er lukket igen.
Men jeg synes det er lidt svært at finde hoved og hale i det her med threads.
Jeg er kommet så langt at jeg har fået opsat en background worker, lavet "do_work" event osv.
Men jeg kan ikke få den til at sætte datasets på tværs af threads.
Det er sådan at jeg på min "frmmain" har 2 datasets, som jeg gerne ville have fyldt med resultatet fra min SQL forespørgelse, som jeg nu forsøger at køre fra "frmsplashscreen". Altså fra en anden tråd.
Og det kan jeg ikke få lov til. "Handling på tværs af tråde ikke tilladt".
Findes der en, som kan give mig en "Threads for dummys" forklaring på hvordan jeg får mit tråde projekt her til at virke?
Evt. et simpelt og godt kommenteret eksempel.
Mvh.
Lasse