WCF i wywołanie funkcji nie stetycznej

Odpowiedz Nowy wątek
2013-10-14 11:17

Rejestracja: 6 lat temu

Ostatnio: 6 lat temu

0

mam następujący problem: jak z wewnątrz klasy "klasadoudsotpeniania" zmienić kontrolkę richTextBox1??

kod:

[ServiceContract]
        public class klasadoudsotpeniania
        {        

            [OperationContract]      //funkcja oznaczona do udostępniania na zawnątrz
            int odpowiedz1(int a)
            {
                a = a + 55;
                return a;
            }

        }
edytowany 1x, ostatnio: somekind, 2013-10-14 13:30
Na przyszłość umieszczaj kod w znacznikach <code=csharp></code>. - somekind 2013-10-14 13:31

Pozostało 580 znaków

2013-10-14 11:20

Rejestracja: 16 lat temu

Ostatnio: 37 minut temu

0
  1. klasadoudsotpeniania musi jakoś mieć instancję tego richTextBoksa, albo instancję formy, zapewne jako pole w klasie.
  2. do kontrolek odwoływać się można tylko z tego samego wątka. zapewne OperationContract nie dzieje się na tym samym wątku co GUI, trzeba więc użyć InvokeRequired i Invoke.

Pozostało 580 znaków

2013-10-14 11:42

Rejestracja: 6 lat temu

Ostatnio: 6 lat temu

0

ok, a jak uzyskać tę instancję?? w c były wskaźniki a c# jak tao jest zorgnizowane??

Odpal pierwszy lepszy kurs i się sam dowiedz - spartanPAGE 2013-10-14 12:06

Pozostało 580 znaków

2013-10-14 12:27

Rejestracja: 16 lat temu

Ostatnio: 37 minut temu

0

Klasy są jakby wskaźnikami (uchwytami), więc takie coś:

Button button2 = button1;

nie kopiuje przycisku (nie tworzy nowego obiektu), tylko kopiuje uchwyt. Obie zmienne (button1 i button2) to ten sam przycisk.

Klasy czy obiekty? - somekind 2013-10-14 13:32
obiekty są obiektami. zmienne klas są uchwytami na obiekty. czepiasz się ;-) - Azarien 2013-10-14 15:48

Pozostało 580 znaków

2013-10-14 13:14

Rejestracja: 6 lat temu

Ostatnio: 6 lat temu

0

już się udało, zrobiłęm tak:
zadeklarowałem zeminna statyczna

static RichTextBox ri = null;

podczas tworzenia insatacji formy

private void Form1_Load(object sender, EventArgs e)
{

        ri = richTextBox1;
    }

przypisałem obiekt do statycznego uchwytu

a potem mozna z niego normalnie kozystac

dzieki pozdrawiam

to static to zły pomysł. - Azarien 2013-10-15 22:22

Pozostało 580 znaków

2013-10-14 14:07
Moderator

Rejestracja: 11 lat temu

Ostatnio: 5 godzin temu

Lokalizacja: Wrocław

2
adam_n napisał(a):

przypisałem obiekt do statycznego uchwytu

a potem mozna z niego normalnie kozystac

Normalnie? Od normalności to te wszystkie pomysły są bardzo daleko.

Wiesz w ogóle jak działają zmienne statyczne? Gdy będziesz chciał utworzyć dwie instancje tego okienka, to Twój dziwny kod będzie operował tylko na RichTextBoxie w drugim okienku. Zdajesz sobie z tego sprawę?

Dlaczego w ogóle z serwisu chcesz grzebać w interfejsie użytkownika?! Przecież usługi są po to, żeby aplikacje z nich korzystały, a nie odwrotnie! Usługi nie obchodzi kto z niej korzysta, ma być dostępna dla aplikacji napisanej w dowolnym języku i w dowolnej technologii.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0