[VB]Functies met form als parameter in DLL werkt niet ?!

Pagina: 1
Acties:

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
Ik ben er in de loop der jaren dat ik VB6 programmeer, dat er een aantal functies zijn die veelvuldig gebruikt worden in mijn verschillende projecten. Nu kwam ik op het idee om voor mij en mijn collega's de meest gebruikte functies te verzamelen in een DLL die door iedereen gebruikt kan worden. Ik loop echter tegen het probleem ik geen functies kan maken met een formulier als parameter, bijvoorbeeld:

code:
1
2
3
4
5
public function Foo(frm as Form)as string
...
bla
...
end function


Echter krijg in de melding dat er geen objecten gebruikt mogen worden als parameter in de class. Als ik deze functie verplaats naar een module in mijn class, kan ik hem vanuit een testprogramma niet oproepen ?

Hoe kan ik dit verhelpen ? Als ik in de class een functie maak met een string als parameter, werkt het wel goed.

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

waarom wil je alles in 1 dll proppen? Wordt die alleen erg groot van. Waarom niet die forms als ocx referencen en dan aanroepen?

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
Ik wil de functies verzamelen in 1 DLL, puuur voor het gemak zodat ik in een vervolgproject alleen maar de DLL hoef toe te voegen zonder me zorgen maken over de inhoud ervan.

Ik heb alle componenten van een willekeurig form nodig voor de bewerkingen, vandaar dat ik hem als parameter meegeef. Als ik hem in een gewone module plaats in het lopende project, is alles oppie-toppie, het werkt zoals ik dat wil. Nu wil ik het in een DLL stoppen...

Verwijderd

Doe anders:

code:
1
2
3
4
5
public function Foo(frm as Object)as string
...
bla
...
end function


Dat zou wel moeten werken...

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

Don't get me wrong .. maar eeuh... ik heb ook een verzameling van handige functies in een dll zitten (als methods of property van de hoofd class)... maar ik denk niet dat het zo handig werkt voor forms, omdat het toch te specifiek is (tenzij je weer een soort connectie form maakt naar een of andere database.. maar daar zijn al vele mensen je voor in geweest). Tenzij je de forms wilt gebruiken om de andere functies te parametriseren.

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
ik heb het al werkend. Form vervangen voor object werkt inderdaad. Ik wil hiermee bereiken dat ik eenvoudig kan zien of een formulier gewijzigd is of niet.

Thanks @Sternsel !

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Het is natuurlijk mooier als je er een interface van maakt, en die door het form laat implementeren.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
wat bedoel je precies?

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Als je een interface maakt ( is een class met daarin lege functies/subs/properties ) en hem public maakt ( bij de properties van je class ) kun je objecten ( dus ook forms ) die interface laten implementeren ( Implements keyword ).

In de help file van VB staat een heel stuk over working with classes, daar staat dit verhaal ook bij.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1