[vb6] 1 Project met verschillende versie's, compileren?

Pagina: 1
Acties:

  • Mir
  • Registratie: Maart 2001
  • Niet online
He,

als je 1 project hebt met verschillende versie's (Pro, Demo, ... ) hoe is dat dan het best te beheren?

Maak je toch 2 verschillende projecten aan waarbij je een iteraties kopieerd en plakt in je 2e versie?

Of is hier in VB zelf iets mee te doen? Zoals je in c++ "#IS_DEFINED" (oid) kan gebruiken, is dat te vinden in VB6? Nadeel dat dit alleen in je Code te gebruiken is, niet je GUI..

Ik vind het lastig, omdat je namenlijk tegen een onbeheerbaar zooitje aan gaat lopen.
Als je in je Demo een methode (ZoekInArray) hebt bijv. die je ook in je Pro versie gebruikt. Maar je komt erachter dat er een fout in zit, dit wijzig je in Demo.. maar dan moet je dus die source kopieren en plakken in je Pro versie.
Voor zo'n methode zal het niet zo heel erg zijn, maar wat als het wat gecompliceerder in elkaar zit?

Nog een probleem: Grafisch.. stel je hebt in je Pro een extra button die je in Demo niet hebt. Maar nu wil je in Demo en Pro een extra Label hebben, ga je die dan 2x aanmaken?

Ikzelf zat namenlijk te denken aan 2 projecten die gebruik maken van dezelfde files, maar dan ga je dus tegen het probleem aanlopen: Demo mag niet die ene knop meegecompiled krijgen, maar Pro wel...

Het is misschien een vaag verhaal, maar ik kan het niet beter maken ;)

Graag jullie ideëen hierover! :)

[ Voor 4% gewijzigd door Mir op 27-01-2005 17:55 ]


  • Exterazzo
  • Registratie: Mei 2000
  • Laatst online: 15:55

Exterazzo

Qeasy

In dit specifieke probleem met pro en demo dan zorg je er toch eerst voor dat je in de Pro versie al je zaakjes op orde hebt, voordat je een demo versie gaat uitbrengen?

Althans dat lijkt me de meest logische en voor de hand liggende manier.

Qua code kun je in Visual Basic gewoon 1 module importeren in meerdere projecten, dus als je in die module de code veranderd, werkt dat in beide projecten. Met formulieren is het wat lastiger.

Audentia


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 08-05 18:46

Gerco

Professional Newbie

VB6 heeft ook conditionele compilatie. Wat beperkt, maar het is er wel.
code:
1
2
3
#If A = 1 Then
    MsgBox "blah"
#End If

Nu kun je in "Project -> Properties -> Make -> Conditional compilation arguments" je argumenten opgeven (in dit geval "A=1").

Voor het veranderen van de GUI kun je natuurlijk gewoon in Form_Load een sectie aanmaken die zoiets doet:
code:
1
2
3
#If DEMO=1 Then
  cmdTofKnopje.Enabled = False
#End If

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Mir
  • Registratie: Maart 2001
  • Niet online
Ja,

maar ik wil eigenlijk fysiek die knop dus niet meegcompileerd hebben. Want naar mijn idee is het voor een cracker/hacker te makkelijk om van een = false, een = true te maken.

Wat ik natuurlijk wel kan doen is

code:
1
2
3
4
5
6
7
8
9
10
11
#if DEMO then
    cmdKnop.Visible = false
#end if

...

#if DEMO then
 Private Sub cmdKnop_Click()
    'Do stuff
 End Sub
#end if


Dan kunnen ze hem best visible maken, maar zal de event afhandeling niet aanwezig zijn dus heb je er nog niets aan.