X-Received: by 2002:a37:e211:: with SMTP id g17-v6mr10989124qki.17.1532473136850; Tue, 24 Jul 2018 15:58:56 -0700 (PDT) X-Received: by 2002:a0c:96d8:: with SMTP id b24-v6mr384165qvd.2.1532473136676; Tue, 24 Jul 2018 15:58:56 -0700 (PDT) Path: csiph.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!e8-v6no658827qtp.0!news-out.google.com!j7-v6ni277qth.1!nntp.google.com!e8-v6no658825qtp.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: it.comp.lang.visual-basic Date: Tue, 24 Jul 2018 15:58:56 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=87.9.121.13; posting-account=eitZdgoAAAC6C9CXmyhLNaQM3MgI3eZM NNTP-Posting-Host: 87.9.121.13 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: VB.NET - Creare DLL From: Luca D Injection-Date: Tue, 24 Jul 2018 22:58:56 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Lines: 43 Xref: csiph.com it.comp.lang.visual-basic:19405 On Tuesday, July 24, 2018 at 9:19:55 PM UTC+2, Ettore wrote: > Buonasera a tutti . (PROVO a CHIEDERE) > Sto facendo un programma di AstroCalcolo . > Devo calcolare il valore di una serie di lunghi dati (Teoria VSOP87) . > Quindi per evitare, ho pensato che mettere i dati in una libreria esterna "evitare" cosa?=20 Perch=C3=A8 OK la libreria esterna, ma se ha una singola classe con una sin= gola funzione, se non pensi di riutilizzarla in altri programmi, tanto vale= che per il momento la lasci nell'eseguibile principale > Public Function EarthL00(ByVal t2kJDEMIL As Double) Se puoi, definisci sempre il tipo di ritorno... certi default di VB.NET, sp= ecie se usi il profili da "vecchio sviluppatore VB" di Visual Studio, sono = un po' troppo disinvolti, danno solo brutte abitudini; immagino che EarthL0= 0 alla fine restituisca un altro Double? A parte questo, se dimentichi per un momento il discorso libreria esterna, = e immagini di chiamare questa funzione come fosse parte del programma princ= ipale, qual'=C3=A8 il tuo dubbio?! Perch=C3=A8 il messaggio di errore mi pa= re abbastanza chiaro: > Non capisco come prende il valore "t2kJDEMIL" la libreria. > Nel programma. .................. > txtEarthL00.Text =3D Add.EarthL00 > Su EarthL00 , appare righetta rossa. Dicendo che l'argomento non e' stato= =20 > specificato per il parametro "t2kJDEMIL"=20 Hai definito una funzione che ha bisogno di un parametro IN INPUT, un numer= o a virgola mobile, quindi glielo devi passare ogni volta che la chiami Dim temp As Double =3D Add.EarthL00() txtEarthL00.Text =3D temp.ToString("F14") Nota che, casomai avessi impostato da un'altra parte il valore in una varia= bile che si chiama "t2kJDEMIL", ovvero come il parametro, =C3=A8 del tutto = ininfluente, viene ignorata; per come ha definito l'intestazione della tua = funzione, lo devi sempre passare esplicitamente A quel punto, che tutto questo sia dentro o fuori la tua DLL esterna, non c= ambia nulla, il funzionamento =C3=A8 lo stesso.