Toon posts:

[VB] Verschil tussen run en make?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Wat ik mij nou afvroeg is: Wat is nu eigenlijk (precies) het verschil als je een programma in Visual Basic runt (via Run menu) en als je een programma stand alone runt (dus eerst make via file menu)?

Waarom ik dit wil weten? Ik heb een applicatie die werkt wel als ik hem debug maar als ik hem run (de exe dan) dan gaat hij steeds op de bek.
Dit alles gebeurt in XP (in andere os'en gaat het wel goed)!

Verwijderd

Run draait interperted, de exe file is native code.

Verwijderd

Topicstarter
Ja dat snap ik wel. Maar wat is nu het verschil.
Ik heb ooit eens iets gehoort dat hij met run niet de runtime dll's gebruikt, maar hoe dat zit weet ik ook niet.
Ik wil er proberen achter te komen waarom hij met run wel werkt en met make crasht.

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

wat is het verschil?

interpreted: de code wordt geinterpreteerd door VB (dus eigenlijk runtime compile naar native code)

exe: de code wordt gecompiled naar native code en dus meteen uitgevoerd zonder verdere tussenkomst van VB

of dat ook het verschil is tussen make en run in VB moet je niet aan mij vragen, ik gebruik VB nooit :)

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


Verwijderd

run compileerd naar p-code, make compileerd naar i386 code. zo beter? je kan in je project settings aangeven dat ie in de exe ook pcode moet gebruiken maar gewoon de oorzaak van je crash zoeken + oplossen is natuurlijk stukken netter.

Verwijderd

Topicstarter
In de project settings heb ik aangegeven dat hij in P-Code moet.

Verwijderd

Als je op Run drukt, kunnen er best fouten in een functie staan. VB crasht dan pas als hij die fout tegenkomt (maw die functie aanroept). Je kunt overigens ook "Run with Full compile" (of zoiets) kiezen...

Een ander verschil is hoe VB omgaat met foutmeldingen. Druk maar eens in de editor op rechtermuisknop, en dan heb je ergens een sub-menuutje (even vergeten hoe die heet) en dan kun je kiezen hoe de IDE met foutmeldingen om gaat (break on all errors, break on class-errors, break on unhandled errors).

Met COM-objecten (die je aan het runnen bent) zijn er ook verschillen, maar daar heb je meestal geen last van.

Verwijderd

Als je run doet zonder make, wordt je programma gewoon onder een VB-thread gedraaid. Dit heeft tot gevolg als je programma crasht, VB ook crasht.

Dus als je met API's bezig bent DOE eerst altijd een MAKE, want hier heeft je programma een eigen process.

Verwijderd

Op vrijdag 15 februari 2002 15:24 schreef bmx_grover het volgende:
In de project settings heb ik aangegeven dat hij in P-Code moet.
Dit is wel veel trager.

Verwijderd

Op vrijdag 15 februari 2002 19:28 schreef GrAviTy het volgende:
Als je run doet zonder make, wordt je programma gewoon onder een VB-thread gedraaid. Dit heeft tot gevolg als je programma crasht, VB ook crasht.

Dus als je met API's bezig bent DOE eerst altijd een MAKE, want hier heeft je programma een eigen process.
Niet direct bij API's, wel als je gaat subclassen.
Pagina: 1