Toon posts:

[vb.net] doorgeven van structure

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heyz,

Ik zit met het volgende probleem. In m'n class heb ik een tabel met structures erin, ik moet naar m'n form 1 structure doorgeven. Dit lukt me echt niet, ik heb al lang zitten zoeken erop.

de structure declaratie zit in m'n class

de function van m'n class wordt opgeroepen met de positie van de gevraagde structure.

Het lukt me perfect om een ganse tabel met structures door te geven naar m'n form, maar niet 1 per 1.

plz help.

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:53
Wat is niet lukken?
Hoe ziet de signature van die functie die een struct neemt als parameter eruit?
Hoe roep je die functie aan?

't Lijkt me dat zoiets toch wel zou moeten werken (C#)
code:
1
void MyFunction( MyStructure aStruct )


code:
1
2
3
MyStructure[] blaat = new MyStructure[5];
....
MyFunction (blaat[0]); // geef eerste element mee

https://fgheysels.github.io/


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Let erop dat bij het doorgeven van een structure je 'ref' opgeeft, aangezien het een valuetype is dus wanneer het form de structure wijzigt, is 'ref' van belang, anders krijgt het form gewoon een nieuwe copy.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Verwijderd

Topicstarter
dus in m'n class :

code:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class test
 public structure lijst
  dim nummer as integer
  dim naam as string
 end structure

public function getrij(byval rijnr as integer) as lijst

Dim tmp(0) As Bierlijst
lijst.CopyTo(tmp, rijnr)
Return tmp
end function

end class

In m'n form :
Visual Basic .NET:
1
2
dim 1rij(0) as class.lijst
1rij = lijst.getrij(index)



ik weet niet hoe ik juist die ene regel doorstuur, ik heb het probleren op te lossen via een tabel van 1 rij, maar dit is natuurlijk een slechte oplossing.

Ik moet dus in m'n form rij per rij de gegevens die in de tabel met structures zitten opvragen.

thx 4 the help

[ Voor 5% gewijzigd door gorgi_19 op 03-05-2004 17:17 ]


Verwijderd

Topicstarter
voorlopig heb ik het kunnen doorgeven door de ganse tabel door te geven :
Visual Basic .NET:
1
2
3
4
5
6
7
public function getrij(byval rijnr as integer) as lijst()

dim tmp(lijst.length) as bierlijst
lijst.copyto(tmp,0)
return tmp

end function

maar ik zou dus moeten 1 regel uit de tabel kunnen doorzenden.

thx

[ Voor 4% gewijzigd door gorgi_19 op 03-05-2004 17:17 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:00

gorgi_19

Kruimeltjes zijn weer op :9

Zou je voortaan [code=vb.net][/code] kunnen gebruiken rondom je code? Dat leest wat makkelijker met de opmaakt. :)

Mocht je nog wat hebben toe te voegen aan een post, dan kan je Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/got/images/icons/edit.gif gebruiken. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op 03 mei 2004 @ 16:53:
dus in m'n class :

code:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class test
 public structure lijst
  dim nummer as integer
  dim naam as string
 end structure

public function getrij(byval rijnr as integer) as lijst

Dim tmp(0) As Bierlijst
lijst.CopyTo(tmp, rijnr)
Return tmp
end function

end class
Kan dat niet beter:
code:
1
2
3
4
public function getrij(byval rijnr as integer) as lijst

Return lijst(rijnr)
end function

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com

Pagina: 1