Article View: be.comp.programming
Article #14693Re: Welke codes in VB6 om te voorkomen dat het programma tegelijkertijd uitgevoerd wordt?
From: Frans Bouma
Date: Mon, 15 Jan 2001 09:43
Date: Mon, 15 Jan 2001 09:43
71 lines
5523 bytes
5523 bytes
<Bart.Vanhauwaert@nowhere.be> wrote in message news:sqcs39.6ms.ln@jafshome.gtk.fr...
> Frans Bouma <perseus@xs4all.nl> wrote:
> > Vergelijk eens 2 stukken code die een COM object implementeren die
> > een stored procedure in een Oracle database aanroepen en het resultaat
> > in een disconnected recordset teruggeven. In VB is dat een regel of
> > 20, in C++ een veelvoud, EN met veel macro's om de COM problematiek
> > mbt pointers/references etc binnen de perken te houden (je kunt alles
> > zelf programmeren, ben je nog langer bezig).
>
> Sorry, maar toevallig is dat nu inderdaad iets wat ik al heb moeten
> programmeren (hoewel de target nu geen oracle database was, maar iets
> anders). En je voorbeeld is vals.
> 1. Het feit dat je COM slechts met veel gezever en inderdaad hopen
> macro's kan benaderen is op rekening te schrijven van het
> framework en _niet_ van de taal. Er is geen enkele reden waarom een
> component technologie niet geabstraheerd zou kunnen worden in een
> eenvoudige en snel te gebruiken C++ standaardtaalelementen.
> Daar zijn trouwens voorbeelden van.
wat interesseert mij dat nou, waaraan het ligt! het FEIT ligt er
dat ALS ik COM wil gebruiken ik meer werk heb in C++ dan in VB in
veel gevallen. Lijkt me een no-brainer om dan de keuze te maken.
Of dat dan aan de taal ligt, tja dat JIJ daar wakker van ligt, too bad,
als ik me druk moet gaan maken over elke flaw in elke programmeertaal
die ik gezien heb in mn leven, dan zat ik nu een kamer met 6 muren
bekleed met matrassen en had ik een shirt aan met erg lange mouwen.
> 2. Je vergelijkt de taal C++ met de volledige implementatie + ide + api
> van VB. Dat is appelen met peren. Als je de moeite had gedaan om ook
> voor C++ even je Visual C++ open te trekken had je gemerkt dat bijna
> alle 'lastige' code waar jij klaagt gegenereerd wordt.
1) ik gebruik de IDE niet om com objects te GEBRUIKEN in VB. dat doe je
gewoon in de editor
2) COM objects gebruiken in VB is niet iets van de API, maar iets van
VB. Zn bestaansrecht zullen we maar zeggen ;).
En ik breng dagelijks ong 3 uur door in VC++ en nee, die genereert
niet alles voor mij, plus is gegenereerde code wel aardig, maar als
je daarvan afhankelijk bent in je code is het minder handig. Je bent
nu ERG hard bezig om wat ERG simpel kan in VB en ERG NIET Simpel in
C++ te bestrijden met dat het even simpel zoniet simpeler kan in
VC++. Je mag dat verkondigen, het lijkt me alleen niet zo verstandig.
bv: (krijgt sName mee en haalt ID op uit database)
Dim csoSecurity as new DBSec.clsSecurity
Dim arMyRecordset as new ADODB.recordset
Dim sSQL as string, sConn as string, sIDValue as string
sConn = csoSecurity.GetConnectionString()
sSQL="SELECT ID FROM TABLE WHERE Name='" & sName & "'"
arMyRecordset.open sSQL, sConn
sIDValue = arMyRecordset("ID").value
arMyRecordset.close
Veel korter kan ik het niet opschrijven. Veel korter kun jij het
ZEKER niet opschrijven in C++. ik heb _NIETS_ gegenereerd, en
alles is zeer leesbaar, er is _GEEN_ kennis nodig van smartpointer
macro's en ADO specific macro's om te snappen wat er staat.
Dat jij dit dan NOG beter in C++ kunt doen, vind ik geweldig voor je,
ik doe dit fijn in VB omdat het me slechts 8 regels code kost, waarvan
3 regels met declaraties. Dat jij dat niet kunt omdat je slecht slaapt
omdat je VB gebruikt, immers een scriptingtaal voor weenies, en voor
alles C++ moet gebruiken want dat is een BETERE taal (?) de enige die
je er mee hebt ben jezelf en je teamleden.
FB
Technical Details
Message-ID:
<93ugd4$hfu$1@news1.xs4all.nl>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!news-out.usenetserver.com!news.tele.dk!193.190.198.17!newsfeeds.belnet.be!news.belnet.be!transit.news.xs4all.nl!not-for-mailReferences:
<9351an$f7n$1@news1.skynet.be> <Pine.LNX.4.21.0101051949531.9940-100000@backslash.moeha.net> <9377d7$jbe$1@news1.skynet.be> <3A572F38.50D749B0@xs4all.nl> <93f8m5$5tf$1@porthos.nl.uu.net> <3A5B58F4.A2EC26E9@xs4all.nl> <93h90p$acu$1@porthos.nl.uu.net> <3A5CB023.748599E@xs4all.nl> <93jtut$npo$1@porthos.nl.uu.net> <3A5E0CDB.799DE750@xs4all.nl> <3A5E18D3.FEA73C86@chello.be> <961o39.s58.ln@jafshome.gtk.fr> <93pc5c$lhm$1@news1.xs4all.nl> <sqcs39.6ms.ln@jafshome.gtk.fr>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: 107324,d0015270be29ee92 X-Google-Attributes: gid107324,public X-Google-Thread: fcea4,d0015270be29ee92 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2001-01-15 01:40:06 PST Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!news-out.usenetserver.com!news.tele.dk!193.190.198.17!newsfeeds.belnet.be!news.belnet.be!transit.news.xs4all.nl!not-for-mail From: "Frans Bouma" <perseus@xs4all.nl> Newsgroups: be.comp.programming,nl.comp.programmeren Subject: Re: Welke codes in VB6 om te voorkomen dat het programma tegelijkertijd uitgevoerd wordt? Date: Mon, 15 Jan 2001 10:43:10 +0100 Organization: Solutions Design Lines: 72 Sender: perseus@11dyn214.dh.casema.net Message-ID: <93ugd4$hfu$1@news1.xs4all.nl> References: <9351an$f7n$1@news1.skynet.be> <Pine.LNX.4.21.0101051949531.9940-100000@backslash.moeha.net> <9377d7$jbe$1@news1.skynet.be> <3A572F38.50D749B0@xs4all.nl> <93f8m5$5tf$1@porthos.nl.uu.net> <3A5B58F4.A2EC26E9@xs4all.nl> <93h90p$acu$1@porthos.nl.uu.net> <3A5CB023.748599E@xs4all.nl> <93jtut$npo$1@porthos.nl.uu.net> <3A5E0CDB.799DE750@xs4all.nl> <3A5E18D3.FEA73C86@chello.be> <961o39.s58.ln@jafshome.gtk.fr> <93pc5c$lhm$1@news1.xs4all.nl> <sqcs39.6ms.ln@jafshome.gtk.fr> Reply-To: "Frans Bouma" <perseus@xs4all.nl> NNTP-Posting-Host: 11dyn214.dh.casema.net Mime-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Trace: news1.xs4all.nl 979551460 17918 212.64.56.214 (15 Jan 2001 09:37:40 GMT) X-Complaints-To: abuse@xs4all.nl NNTP-Posting-Date: 15 Jan 2001 09:37:40 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400