Skulle man kunna få ett lätt trådningsexempel? Hej... Du skall ha det i c# ser jag... Vet inte hur man får adressen på en funktion i c#... skall leta Enkelt. AddressOf skapar en delagat instans som refererar till en specifik procedur. Danke :-D, ska testa när jag får tid, ska på semester :-D <code> okej, Nej, det betyder bara att Thread är en klass som inte kan köras under den context du är i. Alltså Static. Får samma fel :-( Funkar :DTrådnings Exempel
Har hittat det här [Skapa nya trådar: Enkelt], men jag har lite problem med bla adressof.. :-(
MrT @thomassida.cjb.netSv: Trådnings Exempel
<code>
Thread(AddressOf <metod>)
</code>
Du anger namnet på den metod som skall gå under trådningen.
<code>
Public Shared Sub Foo()
MesageBox.Show("Tråd startad")
End Sub
public shared sub main.....
Dim t As New Thread(AddressOf Foo) 'Säger att du vill använda Foo metoden
t.Start()
...
</code>
//Johan NSv: Trådnings Exempel
Sv: Trådnings Exempel
<code>
Thread(new ThreadStart(Foo)) ;
</code>
Var väldigt aktiv i en Vb .Net fråga så man blev lite Vb skadad :-) sorry för det.
//Johan NSv: Trådnings Exempel
exempelvis en metod.
//Johan NSv: Trådnings Exempel
Mr T @thomassida.cjb.netSv: Trådnings Exempel
static void Main()
{
//Thread t =new Thread( Foo) 'Säger att du vill använda Foo metoden
Thread(new ThreadStart(Foo));
//t.Start()
Application.Run(new Form1());
}
public void Foo()
{
MessageBox.Show("Tråd startad");
}
</code>
Fel:
D:\Thomas mapp\Mina Dokument\Visual Studio Projects\TrådTest\Form1.cs(68): 'System.Threading.Thread' denotes a 'class' which is not valid in the given context
D:\Thomas mapp\Mina Dokument\Visual Studio Projects\TrådTest\Form1.cs(68): An object reference is required for the nonstatic field, method, or property 'TrådTest.Form1.Foo()'
Mr T @thomassida.cjb.netSv: Trådnings Exempel
men hur fixar jag det här?
'System.Threading.Thread' denotes a 'class' which is not valid in the given context
behöver jag skapa en class med Foo i?
Mr T @thomassida.cjb.netSv: Trådnings Exempel
Detta skall gå.
<code>
static void Main()
{
//Thread t =new Thread( Foo) 'Säger att du vill använda Foo metoden
Thread(new ThreadStart(Foo));
//t.Start()
Application.Run(new Form1());
}
public static void Foo() 'Lägg till static
{
MessageBox.Show("Tråd startad");
}
</code>
Men jag föredrar att du istället skapar en ny klass som du instansierar från Main så slipper du göra allt statisct.
//Johan NSv: Trådnings Exempel
Har jag gjort fel?
<code>
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Threading;
namespace TrådTest
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
NyTråd Tråd=new NyTråd();
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Size = new System.Drawing.Size(300,300);
this.Text = "Form1";
}
#endregion
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
//Thread t=new Thread(Foo); //Säger att du vill använda Foo metoden
//t.Start()
Application.Run(new Form1());
}
}
internal class NyTråd
{
internal NyTråd()
{
Thread(new ThreadStart(Foo));
}
void Foo() //Måste vara static om man ska kunna köra från Main
{
MessageBox.Show("Tråd startad");
}
}
}
</code>
Mr T @thomassida.cjb.netSv: Trådnings Exempel
<code>
....
internal class NyTråd
{
internal NyTråd()
{
Thread t=new Thread(new ThreadStart(Foo));
t.Start();
//Thread(new ThreadStart(Foo));
}
void Foo() //Måste vara static om man ska kunna köra från Main
{
MessageBox.Show("Tråd startad");
}
}
</code>
Mr T @thomassida.cjb.net