<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Visual C++ 6.0 / .NET (unmanaged)</title><link>https://www.dotnetzone.gr:443/cs/forums/30/ShowForum.aspx</link><description>Για τους hardcore developers, C/C++ forum για windows εφαρμογές!</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Χρήση .lib αρχείου σε C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45738.aspx</link><pubDate>Sat, 25 Oct 2008 20:40:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45738</guid><dc:creator>M1ke</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45738.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=30&amp;PostID=45738</wfw:commentRss><description>Βασικά δεν κατάφερα να το κάνω link.. Δοκίμασα και με visual studio και με το dev-c++ αλλά δεν! Μιλήσαμε και με άλλον έναν που το είχε δουλέψει παλιότερα και τελικά και αυτός είχε καταλήξει να πάρει τον κώδικα και να τον αλλάξει..&lt;br&gt;&lt;br&gt;Και για να το κάνω πιο σαφές: Η όλη δουλειά γίνεται για να επικοινωνήσει ο υπολογιστής με μία συσκευή. Μεταξύ τους ανταλλάσουν αρχεία με συγκεκριμένο format (εκεί χρειαζόταν ο κώδικας). Τελικά τα αρχεία αυτά έχουν έναν στάνταρ header που περιγράφει την δομή και τα πραγματικά δεδομένα είναι γραμμένα byte-byte στο αρχείο (όχι χωρισμένα με tabs, γραμμές ή όπως αλλιώς θα περίμενε κανείς).&lt;br&gt;&lt;br&gt;Οπότε τώρα πρέπει να πάρω την λογική από τον κώδικα σε C και να τον κάνω σε C#. Δυστυχώς θα γίνει έτσι εφόσον ο κώδικας "στόχευε" 16bit, οπότε όλες οι μεταβλητές αναφέρονται στα τότε standards, και δεν μπορεί να γίνει compile από "σύγχρονο" C Compiler ώστε να τον κάνω εγώ import. Θα ακολουθήσω τις οδηγίες του manual για το τι περιμένει να δει η συσκευή (3 bytes εδώ, 2 μετά κοκ) και θα πράξω αναλόγως... &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-6.gif" alt="Sad" /&gt; Απλα και στη δουλειά είπαμε ότι είναι καλύτερο να γίνει η μετατροπή τώρα που είναι νωρίς και να είναι readable ο κώδικας παρά να μπαλώνουμε 15 χρονών "τρύπες" για να γίνει η δουλειά πιο γρήγορα..</description></item><item><title>Απ: Χρήση .lib αρχείου σε C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45735.aspx</link><pubDate>Sat, 25 Oct 2008 18:02:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45735</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45735.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=30&amp;PostID=45735</wfw:commentRss><description>&lt;P&gt;Δεν νομίζω ότι καταλαβαίνω τί εννοείς! Τα δεδομένα ... μέσα στο binary φυσικά και θα είναι byte-byte. Αυτό δεν σημαίνει ότι έχει πρόβλημα το lib ή το dll. Τελικά δεν μας είπες αν υπήρχε πρόβλημα στο linking.&lt;/P&gt;
&lt;P&gt;Το ότι το αρχείο είναι ANSI C (ποιό standard όμως?) δεν είναι κακό και δεν απαιτεί μετατροπή σε C#. Απλά φτιάχνεις ένα class library σε Managed C++ με αυτό ακριβώς τον κώδικα, απλά προσθέτεις και τις μεθόδους που θέλεις να καλείς εσύ από τη C# χωρίς Dll import.&lt;/P&gt;</description></item><item><title>Απ: Χρήση .lib αρχείου σε C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45732.aspx</link><pubDate>Sat, 25 Oct 2008 17:07:00 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45732</guid><dc:creator>M1ke</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45732.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=30&amp;PostID=45732</wfw:commentRss><description>Τελικά ήρθε στα χέρια μας το source code.. Ansi C... Τελικά το ακαταλαβίστικο formatting είναι τα δεδομένα γραμμένα byte-byte. Άντε να το κάνεις convert σε c# τώρα! (Ψάχνωντας παράλληλα για το πόσα bytes εννοεί αυτός με κάθε τύπο δεδομένων και πόσα εννοεί η c#).&lt;br&gt;&lt;br&gt;Τελικά μου είπαν να μην βγάλω οτιδήποτε έξω από την εταιρία... Ευχαριστώ πολύ που προσφερθήκατε! &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;br&gt;</description></item><item><title>Απ: Χρήση .lib αρχείου σε C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45687.aspx</link><pubDate>Thu, 23 Oct 2008 15:24:48 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45687</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45687.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=30&amp;PostID=45687</wfw:commentRss><description>&lt;P&gt;Αν τα αρχεία ξεπέφτανε σε κανένα attachment ή skydrive θα μπορούσαμε να τα δούμε και να βγάλουμε άκρη. Να θυμηθούμε και τα νιάτα μας!&lt;/P&gt;</description></item><item><title>Απ: Χρήση .lib αρχείου σε C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45685.aspx</link><pubDate>Thu, 23 Oct 2008 07:55:36 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45685</guid><dc:creator>M1ke</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45685.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=30&amp;PostID=45685</wfw:commentRss><description>Για τα 16bit μου είπαν και στη δουλειά. Ελπίζω να μην έχουμε τέτοια! Αν και μάλλον θα επικοινωνήσουμε με την εταιρία (γιατί με τους έλληνες αντιπροσώπους της δεν βγάλαμε άκρη) και ελπίζω να έχουμε καλύτερα (πιο managed)&amp;nbsp; νέα!&lt;br&gt;&lt;br&gt;Σας ευχαριστώ πολύ για τις απαντήσεις σας! Θα λείπω για 1 μέρα, οπότε θα στείλω τα νεότερα την Παρασκευή!&lt;br&gt;</description></item><item><title>Απ: Χρήση .lib αρχείου σε C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45684.aspx</link><pubDate>Thu, 23 Oct 2008 07:43:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45684</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45684.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=30&amp;PostID=45684</wfw:commentRss><description>&lt;P&gt;Τον wrapper θα είναι ευκολότερο να τον φτιάξεις με Managed C++ η οποία καταλαβαίνει από header files και libs. Το μόνο που φοβάμαι είναι μήπως το lib είναι σε κανένα άσχετο format το οποίο δεν μπορεί να το διαβάσει πλέον το Visual Studio. Τον παλιό καλό καιρό άλλο binary format χρησιμοποιούσε η Microsoft και άλλο η Borland. Να μην πούμε ότι τότε υπήρχαν και βιβλιοθήκες .......... 16 bit. Οπόε αν σου έδωσαν βιβλιοθήκη 16 bit .................. Ίσως να μπορείς να κάνεις κάποια μετατροπή με το LIB αλλά δεν το έχω χρησιμοποιήσει ποτέ για κάτι τέτοιο.&lt;/P&gt;
&lt;P&gt;Όσον αφορά τα settings, τα lib τα βάζεις είτε στο Project Properties &amp;gt; Linker &amp;gt;General &amp;gt;Additional Library Directories, είτε ένα-ένα στο Project Properties &amp;gt; Linker &amp;gt;Input &amp;gt; Additional Dependencies.&lt;/P&gt;</description></item><item><title>Απ: Χρήση .lib αρχείου σε C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45683.aspx</link><pubDate>Thu, 23 Oct 2008 07:10:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45683</guid><dc:creator>M1ke</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45683.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=30&amp;PostID=45683</wfw:commentRss><description>Βασικά αυτά τα 3 αυτά αρχεία ήρθαν στη δουλειά με μία ζυγιστική μηχανή &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;, που επικοινωνεί με pc μέσω tcp. Το όλο θέμα είναι να ανοίξουμε σε c# τα αρχεία που ανταλλάσουν μεταξύ τους και λόγω ενός αρκετά περίεργου (εως ακαταλαβίστικου) formatting που έχουν χρειαζόμαστε τις συναρτήσεις αυτές. Οπότε το .h αρχείο έχει μερικές "απλές" δηλώσεις συναρτήσεων (πχ void* s_open(char* filename)) για τον χειρισμό τους.&lt;br&gt;&lt;br&gt;Όταν άνοιξα το .lib το visual studio έδειχνε δίπλα στα κατεβατά 16κων και τα αντίστοιχα ascii, οπότε και βρήκα ότι πχ το s_open "υπάρχει" στο lib..&lt;br&gt;&lt;br&gt;Όσο για το dll, προσπάθησα με DllImport αλλά δεν έβρισκε entry points.. Μετά το άνοιξα με ένα προγραμματάκι (κλασσικά εκ του google - 1 hit) , νομίζω λεγόταν dll Exporter. Δεν βρήκε exported functions..&lt;br&gt;&lt;br&gt;Επίσης όταν δοκίμασα να φτιάξω ένα c++ πρόγραμμα που να καλεί τις συναρτήσεις, δεν μπορούσε να κάνει link (σορρυ αλλά τόσες ώρες μετά δεν θυμάμαι το error, θα το δω και θα το προσθέσω) με το .lib.&lt;br&gt;&lt;br&gt;Όσο για τον κώδικα πρέπει να ρωτήσω τους "αποπάνω".. Μην έχουμε και προβλήματα! Πάντως τα αρχεία αυτά φτιάχτηκαν το 93-95 και γενικότερα η κατασκευάστρια εταιρία (γερμανική) έχει πολύ κλειστή τακτική. Ούτε downloads για API, ούτε online programming manual ούτε τίποτα!&lt;br&gt;&lt;br&gt;Γενικά απ' ότι έψαξα πρέπει να κάνω ένα wrapper. Το θέμα είναι ότι δεν ξέρω πως. Και η τελευταία επαφή μου με c / c++ ήταν πριν 1 χρόνο και αυτό σε linux (οπότε τα c++ configs του vs δεν μου λένε τίποτα!)&lt;br&gt;</description></item><item><title>Απ: Χρήση .lib αρχείου σε C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45678.aspx</link><pubDate>Thu, 23 Oct 2008 02:29:41 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45678</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45678.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=30&amp;PostID=45678</wfw:commentRss><description>&lt;P&gt;Άμεσα, όχι δεν μπορείς να το κάνεις.. αλλα μπορείς να φτιάξεις ένα proxy dll το οποίο κάνει μονο export&amp;nbsp;τις function απο το Lib ώστε να φαίνονται στην C#. Σε διαφορετική περίπτωση, εάν έχεις source code ring again και θα σου πούμε.&lt;/P&gt;</description></item><item><title>Χρήση .lib αρχείου σε C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45677.aspx</link><pubDate>Thu, 23 Oct 2008 02:17:46 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45677</guid><dc:creator>M1ke</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45677.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=30&amp;PostID=45677</wfw:commentRss><description>&lt;P&gt;Καλησπέρα σε όλους.&lt;/P&gt;
&lt;P&gt;Το ακόλουθο post βρίσκεται εδώ λόγω κακού documentation και πολύ κακού support!&lt;/P&gt;
&lt;P&gt;Πρέπει να χρησιμοποιήσω κάποιες συναρτήσεις που περιγράφονται σε ένα .h αρχείο. Έχω επίσης στη διάθεσή μου ένα .lib και ένα .dll αρχείο.&lt;/P&gt;
&lt;P&gt;Το .dll δεν έχει κάποια exported functions για να τις κάνω κατευθείαν P/Invoke στη C#.&lt;/P&gt;
&lt;P&gt;Υπάρχει τρόπος να πάρω κάπως τις συναρτήσεις αυτές από το lib αρχείο και να τις χρησιμοποιήσω σε C#?&lt;/P&gt;
&lt;P&gt;Ευχαριστώ!&lt;/P&gt;</description></item></channel></rss>