Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Threads und Zugriff auf Netzwerk

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
27.09.2005, 08:49 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Thorsten,
was für Version vom BCB nutzt Du? Wenn ich am Nachmittag etwas Zeit hab, bau ich mal was zusammen. Hab jedoch nur die BCB5 Version.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
27.09.2005, 09:19 Uhr
~Thorsten
Gast


Naja nun gehts mittlerweile wenigstens wieder unter Borland. Ich hab auch MSVisual soweit, dass nicht mehr das unresolved extrenal.. kommt.

Jetzt schreibt er mir beim Linken, dass meine DLL.lib ungültig oder beschädigt ist.

Hängt das mit der Namensgebung zusammen wie 2 obendrüber geschrieben?
Oder was könnte das sein?
Hab ich vielleicht nen Quellcodefehler?

Wenn das wirklich mit der Namensgebung zusammenhängt, wie kann man das umgehen? Man schreibt doch extra dlls um sie dann von verschiedenen Entwicklungsumgebungen auch nutzen zu können, oder seh ich das falsch?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
27.09.2005, 09:20 Uhr
~Thorsten
Gast


Das mit dem zusammenbauen wär super. Und ich hab auch den Borland C++ Builder 5.
War klässe wenn das gehen würd und man sie dann auch unter MSVisual benutzen könnt.

Dürfte ja nicht soviel Arbeit sein, wenn man weiss wie es geht :-)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
27.09.2005, 19:13 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,

Ein Bsp. kannst Du ***gelöscht*** saugen. Es beinhaltet zum einen ein DLL Projekt und ein aufrufendes Projekt (Fehlerbehandlung=NULL). Die DLL nutzt bei der zweiten Funktion die VCL Komponenten (Form wird angezeigt und Berechnung returniert). Ein Bsp. für eine Anbindung an VC++ findest Du unter Downloads. Schau Dir die Exportfunktionen bitte mit Dependency an, dann wird die Namenserweiterung auch sichtbar.


Bearbeitung von Uwe:
Link gelöscht

--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 28.09.2005 um 14:12 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
28.09.2005, 08:59 Uhr
~Thorsten
Gast


Danke, dass war genau was ich gesucht habe. Klasse und vielen Dank !!

Nur eine Frage hab ich noch. Die Datei main.h ist doch der Header der DLL oder? Müssen da nicht die Funktionsköpfe der Funktionen deklariert werden? Und dann als exports kennzeichnen damit man sie von aussen benutzen kann? In dem Beispiel ist diese Datei nämlich leer, es geht aber trotzdem. Oder gibt es eben verschiedene Wege ne DLL einzubinden?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
28.09.2005, 10:09 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Thorsten,
Du hast recht, eigentlich sollten die Deklarationen in die Headeratei, ich hatte sie ja auch schon angelegt . Aber wie Du schon bemerkt hast gibt es verschiedene Wege welche nach Rom führen. Ich hab einfach in der DLL die Exportfunktionen festgelegt. Wenn Du dann den Header nicht hast, musst Du die Funktionen explizit importieren.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
28.09.2005, 10:27 Uhr
~Thorsten
Gast


ich wollte ja auch nicht meckern :-)

Das war mir echt ne große Hilfe. Vielen Dank nochmal.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
29.09.2005, 08:33 Uhr
~Thorsten
Gast


Auf die Gefahr hin jetzt ne dumme Frage zu stellen. Bei dem Beispiel von Uwe. Wie kann ich auf die explizite Importierung der Funktionen verzichten? Sie einfach im Header der DLL anlegen und diesen dann in der Anwendung einfach über #include "Dll.h" einbinden?

Muss ich dann immer noch die DLL genauso laden wie bisher aber die Funktionen nicht mehr explizit importieren? Und wie genau müssen die Funktionen im DLL Header deklariert sein?

Ich habs versucht, aber ich glaube ich stell mich etwas ungeschickt an...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
29.09.2005, 11:04 Uhr
~Thorsten
Gast


Ich hab ne klasse Schritt für Schritt Anleitung und Erklärung für DLLs im Netz gefunden.
Ist für den Borland C++ Builder konzipiert und erklärt wirklich klasse. Auf 36 Seiten erfährt man wie man eine DLL erstellt, und wie man sie in ein Projekt einbinden (statisch und dynamisch). Ich glaub jetzt hats bei mir klick gemacht. Da wird auch noch erklärt wie man aus ner DLL Objekte und sowas läd...

Also ich kann das nur empfehlen und deshalb hier der Link

www.fachinformatiker-ihk.de/download/extras/DLL.pdf

Viel Spass damit und DANKE !!!

Ich denke ich werd sicher wieder Probleme bekommen und dann fragen, aber dafür ist ein Forum ja da...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
24.10.2005, 10:41 Uhr
~Thorsten
Gast


Ich hab nun ein ganz neues Problem, ich hängs aber mal troztdem noch hier an.

Also das mit dem Netzwerkzugriff geht jetzt ganz gut. Nur ich will nun eine Kommazahl versenden. Diese Zahl muss ich in ihre 4 bytes zerlegen. Mit normalen Zahlen usw hat das gut geklappt aber nicht mit Gleitkommazahlen. Die einfachen Datentypen könnte ich mit ff00 usw Und-Verknüpfen um die gewünschten bytes zu isolieren und konnte dann mit << oder >> nach links und rechtschifften. Beides geht aber bei float nicht. Habs dann versucht mit reinterpret_cast um den float 1zu1 in einen anderen Datentyp zu konvertieren ohne das sich die hex-darstellung ändert. Aber das gibt bei mir immer ne Fehlermeldung. Hab auch mit Zeigern rumprobiert, geht aber alles net.

also Kurz ich benutze C++ und will beim float datentyp die einzelnen bytes isolieren um sie zu versenden. Das ganze klappt aber eben nicht. Wer hat ne Idee??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: