Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Aiutoooo...
martedì 06 luglio 2004 - 16.38
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
hydra
Profilo
| Junior Member
158
messaggi | Data Invio:
mar 6 lug 2004 - 16:38
Ciao a tutti, ho un grosso problema e spero che qualcuno di voi riesca a darmi una dritta. Devo usare una periferica, hotutto il materiale disonibile, ma il problema è che il produttore di questa periferica mi ha dato delle API per c++ (ossia tutti file .H e .LIB). Io ho un'assoluta necessità di utilizzare questa periferica con il visual studio!! Nessuno di voi sa come si possa fare?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 6 lug 2004 - 17:06
Certo,
o scrivi il programma in Visual C++ oppure lo scrivi in .NET usando l'interoperabilità che è un po' più complesso però. Immagino tu abbia anche le .dll finali vero ? e anche la documentazione sulle varie funzioni contenute negli header files .h ?
Che tipo di periferica stai usando ?
ciao
david
hydra
Profilo
| Junior Member
158
messaggi | Data Invio:
mer 7 lug 2004 - 09:02
E' una periferica della Siemens. Si usa una .h che contiene le funzioni per la comunicazione seriale, poi c'è una dll che definisce il protocollo di trasmissione e una dll che contiene le funzioni per comunicare. La hotline Siemens mi ha detto che è possibile utilizzare tali parti solo programmando in C++.. Io devo usare il VS. Posso al limite avere maggiori informazioni su questa interoperbilità ? (è già la seconda volta che la sento nominare e non so cos'è, o probabilmente l'ho usata ma non con questo nome :|). A proposito, ho usato il tuo tip su come usare la grafica di XP in VS...... :-b Grazie in anticipo per ogni consiglio..
hydra
Profilo
| Junior Member
158
messaggi | Data Invio:
mer 7 lug 2004 - 09:03
E cmq si, ho le dll finali e anche il sorgente degli header. Solo che non riesco a usarli..... :(
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 8 lug 2004 - 09:53
Perchè come ha detto David non scrivi il codice in .NET ed eventualmente se disponi delle dll, puoi caricarle nel progetto utilizzando l'opzione Aggiungi riferimento.
Ciao
Fabio
hydra
Profilo
| Junior Member
158
messaggi | Data Invio:
gio 8 lug 2004 - 10:10
Ho provato anche a includerle, ma mi dice che il riferimento non è valido, posso importare solo oggetti DLL e COM (ma io dispongo infatti di DLL). Ho provato anche a fare questo: con il comando DUMPBIN ho disassemblato le dll per vederne le funzioni, poi ho creato una classe dove dichiaro le funzioni della dll, solo che quando chiamo una di queste funzioni mi dice che la funzione non è contenuta nella dll. Cosa cavolo sta succedendo?
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 8 lug 2004 - 10:16
Ma la dll come è stata creata, mi spiego sotto che linguaggio?Perchè quelle che ho creato io sotto vb net mi funzionano quando le importo.
Ciao
hydra
Profilo
| Junior Member
158
messaggi | Data Invio:
gio 8 lug 2004 - 10:44
E' stato fatto tutto sotto C++.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 8 lug 2004 - 23:30
Trinity,
qui stiamo parlando di codice C++ quindi se fai un Add Reference non te la prende, con un Assembly .NET invece sì.
Hydra,
l'interoperabilità praticamente ti permette di richiamare funzioni contenute in DLL create con architetture e linguaggi precedenti per esempio il C++.
Devi rimapparti in C# o VB.NET tutte le funzioni che ci sono nelle DLL (o nel file .h) e rimappare anche tutti i tipi di dati dei parametri che vengono passati.
Se poi vengono passate strutture il compito si complica ancor di più. Per fare tutto questo dovresti avere un'ottima conoscenza di C++ e buona di .NET non è una cosa banale specialmente se non hai documentazione o esempi.
Non è vero ciò che dice Siemens che è solo possibile in C++. Certamente è la via più facile perchè non ci sono layer intermedi, con .NET invece devi aggiungere un livello in più.
ciao
david
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 8 lug 2004 - 23:31
Alcuni articoli di riferimento sull'interoperabilità:
http://www.dotnethell.it/articles/article.aspx?ArticleID=72
http://www.dotnethell.it/articles/article.aspx?ArticleID=73
ciao
david
hydra
Profilo
| Junior Member
158
messaggi | Data Invio:
ven 9 lug 2004 - 11:06
Le tue parole non sono confortanti, nel senso che dai parametri delle funzioni che ho visto ci sono parecchie strutture :( Cmq una cosa confortante è che da c# riesco a richiamare le funzioni senza errori, quindi pensavo appunto di creare una Dll di "scambio". Grazie inoltre per gli articoli che mi sono molto uili. Una cosa: la famosa interoperabilità si utilizza con "using System.RunTime.InteropService;" ? Questo perchè tempo addietro avevo chiesto se era possibile spegnere il pc da codice e mi era stato risposto si, usando l'interoperabilità. Forse adesso comincio a capirne di più. Scusate se sono poco chiaro, ma è da poco che utilizzo il VS e mi tocca procedere da solo con sole conoscenze di Pascal (e anche qualcosa di VB). Cmq grazie mille a tutti.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 9 lug 2004 - 11:33
Esatto è proprio quel namespace che ti permette di usare l'interoperabilità.
Riguardo lo spegnimento del computer ne avevamo parlato tempo fa qui:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=1236
ricordi ? :)
ciao
david
hydra
Profilo
| Junior Member
158
messaggi | Data Invio:
ven 9 lug 2004 - 12:00
Esatto, ricordo benissimo. Solo che non ho più avuto notizie. O mi sono perso x strada? (se è così scusami ma è un periodo che ho una marea di problemi da risolvere)..
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 12 lug 2004 - 23:58
Hai ragione, effettivamente sono in torto io.
Anche io ho una marea di cose :) appena trovo un attimo però mi metto in pari e sfornerò l'utile tip. Consulta ogni tanto la home page, prima o poi apparirà :)
saluti
ciao
david
hydra
Profilo
| Junior Member
158
messaggi | Data Invio:
mar 13 lug 2004 - 10:42
Grazie mille, aspetto il tip allora.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !