basic NET.

Míra Beneš benes.m na stapro.cz
Čtvrtek Březen 15 14:21:27 CET 2012


v c#
private void SetText(string text)
{
	// InvokeRequired required compares the thread ID of the
	// calling thread to the thread ID of the creating thread.
	// If these threads are different, it returns true.
	if (this.textBox1.InvokeRequired)
	{	
		SetTextCallback d = new SetTextCallback(SetText);
		this.Invoke(d, new object[] { text });
	}
	else
	{
		this.textBox1.Text = text;
	}
}

http://msdn.microsoft.com/en-us/library/ms171728%28v=vs.80%29.aspx#Y264

mira

On 15.3.2012 14:10, Miroslav Draxal wrote:
> Dobrý den,
>
> Převádím tady jednu aplikaci vytvořenou ve visual basicu 6 na NET.
> Nejprve jsem to musel převést na visual net2008, potom do net2010. Hodně
> toho předělat, ale jaksi si nevím rady s mimovláknovým voláním
> komponent. Mějme pole, do kterého se ložily commandbuttony. A k nim chci
> tooltipy. Pokud něco příjde ze sériového portu COM, potom mi to hlásí
> chybu, ze
>
> Message=Operace mezi podprocesy není platná: Přístup k ovládacímu prvku
> cmdEfekt_7 proběhl z jiného podprocesu než z podprocesu, v rámci kterého
> byl vytvořen.
>
> Je mi jasné, že je to volání z jiného vlákna, ale nějak to neumím dát
> dohromady.
>
> definice
>
> Public _cmdEfekt(23) As Button
>
> Public ToolTipProcesor As New ToolTip
>
> Naplnění pole
>
> _cmdEfekt = grpVyberEfektu.Controls.OfType(Of
> Button).OrderBy(Function(label) label.TabIndex).ToArray
>
> Zde chyba v sekciè cmdEfekt(Index)
>
> ToolTipProcesor.SetToolTip(_cmdEfekt(Index), “pokus“)
>
> Vím že to je přes invoke, ale namůžu to dát dohromady. Poradíte? Míra
>
>
>


Další informace o konferenci Hw-list