-
Gesamte Inhalte
433 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von TinTin
-
-
Hallo, hier wieder der Idealfall, keine Ahnung von SQL aber es nutzen wollen:
ich suche ein Statement mit dem ich die Daten zweier Spalten einer tabelle in einer dritten zusammenfüge. Die Daten der Spalten sind Strings.
ciao TinTin
-
Ok,
ARP Pakete sin wohl keine IP Pakete, dann kann man das mit 'normalen Sockets'
knicken. Ich hab jetzt was gefunden. mit der WinPcap Lib scheint es wohl zu
gehen. Schande meiner Unwissenheit. Hat jemand überhaupt schon Erfahrung
mit dem Beschnüffeln von Paketen?
TinTin
-
Liebe Gemeinde,
ich habe einen Comserver (Seriell Device Server) der beim Anschliessen an Netzwerk folgendes Gratuitous ARP Paket sendet.
No. Time Source Destination Protocol Info 14 17.579638 Wieseman_03:28:5d Broadcast ARP Who has 192.168.100.100? Gratuitous ARP Frame 14 (60 bytes on wire, 60 bytes captured) Arrival Time: Jun 25, 2007 10:19:43.840493000 Time delta from previous packet: 0.722958000 seconds Time since reference or first frame: 17.579638000 seconds Frame Number: 14 Packet Length: 60 bytes Capture Length: 60 bytes Protocols in frame: eth:arp Coloring Rule Name: ARP Coloring Rule String: arp Ethernet II, Src: Wieseman_03:28:5d (00:c0:3d:03:28:5d), Dst: Broadcast (ff:ff:ff:ff:ff:ff) Destination: Broadcast (ff:ff:ff:ff:ff:ff) Address: Broadcast (ff:ff:ff:ff:ff:ff) .... ...1 .... .... .... .... = Multicast: This is a MULTICAST frame .... ..1. .... .... .... .... = Locally Administrated Address: This is NOT a factory default address Source: Wieseman_03:28:5d (00:c0:3d:03:28:5d) Address: Wieseman_03:28:5d (00:c0:3d:03:28:5d) .... ...0 .... .... .... .... = Multicast: This is a UNICAST frame .... ..0. .... .... .... .... = Locally Administrated Address: This is a FACTORY DEFAULT address Type: ARP (0x0806) Trailer: 000000000000000000000000000000000000 Address Resolution Protocol (request/gratuitous ARP) Hardware type: Ethernet (0x0001) Protocol type: IP (0x0800) Hardware size: 6 Protocol size: 4 Opcode: request (0x0001) Sender MAC address: Wieseman_03:28:5d (00:c0:3d:03:28:5d) Sender IP address: 192.168.100.100 (192.168.100.100) Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00) Target IP address: 192.168.100.100 (192.168.100.100)
Das ist das Paket mit Etherreal aufgezeichnet.
Ich würde gerne mit meinen Programm auf dieses Paket reagieren, ich muss
also lauschen ob ein Solcher Broadcast erfolgt. Wie kann ich das bewerkstelligen, ich such nach einer Lösung auf Basis von MFC (<- keine Diskussion bitte) falls es diese gibt. Die bisherige Netzwerkfunktionalität ist
auch mit CAsyncSock aufgebaut.
Die Fragen die sich mir stellen woran und worauf mus ich horchen?
Wie baue ich den Socket auf für diesen Fall?
TinTin
-
danke, dass passt. ist schon ein kreuz mit den nicht initialisierten variablen.
-
ich habe eine Klasse mit
// xyz.h class xyz { CMySocket* sock; }
// xyz.cpp void xyz::einefunktion() { if (dies und jenes) { sock = new CMySock(); } }
wenn jetzt dies und jenes nicht zutrifft, und ich den destrucktor aufrufe, dann knallts - logisch.xyz::*xyz() { delete sock; }
kann wie löse ich das wohl am besten?
TinTin
-
Also, meine Problemeatik sieht folgendermassen aus:
Ich habe einen (oder mehrere) Comserver im Netz die zu irgendeinem Zeitpunkt
Daten über Ihre RS232 bekommen und über einen Port weiterschicken.
Ich muss nun meine Anwendung mit diesem Port verbinden und warten das
Daten kommen und diese dann verarbeiten. Meine Anwendung muss in diesem
Fall als Client arbeiten, also muss ich eine Connect auf Addresse und Port
machen und warten das Zeichen kommen. Schön wäre es auch, wenn ich über-
prüfen konnte ob der Connect noch gültig ist - wenn der Server z.B. die
Netzwerkverbindung verliert.
TinTin
-
Servus,
könnet mir, einem blutigen Socketanfänger, jemand in knappen Worten den
Unterschied zwischen CSocket und CAsyncSocket erklären. Ich lesen schon eine
ganze Weile über dieses Thema, habe aber bisher nichts gefunden, was mir
sagen könnte "wenn du dieses machen willst, dann nimm diese oder jene Klasse."
Ich habe in diesem Artikel gelesen, dass CSocket automatisch in einem eigenen
Thread läuft. Trifft das auch auf CAsyncSocket zu.
Ciao TinTin
PS:
Ach ja, und ich möchte euch bitten von Diskussionen Pro und Contra MFC
Abstand zu nehmen.
-
Wenn man den Wald vor lauter Bäumen nicht mehr sieht.
Man solte schon alle benötigten DLLs mitliefern. :floet:
Danke und ich bitte vielmals um Vergebung.
-
ich nutze
using namepace Excel;
-
Versuch doch mal, den ganzen COM-Kram hierein zu packen:
try { COM - K R E M P E L } catch (Exception e) { Dieser Block wird bei einer Ausnahme ausgeführt... Hier kannst du z. B. eine Meldung ausgeben. }
Ich habe aber leider den COM Krempel via 'Projekteigenschaften/Verweis
hinzufügen' eingefügt. Und was nun? Das ich Exceptions mit try/catch abfangen kann ist schon klar,
aber wie komme ich da dran?
-
Servus,
folgender Sachverhalt:
Ich habe eine CLR Consolenanwendung in die ich einen Verweis auf die
COM Komponente 'Interop.Excel.1.3' (Excel 2000) eingefügt habe.
Soweit, so gut. Anwendung funktioniert wie gewünscht, wenn Excell 2000
installiert ist.
Wenn die entsprechende Excelversion nicht installiert ist bekomme ich
diese Meldung vom CLR Debugger.
Eine nicht behandelte Ausnahme des Typs "System.IO.FileNotFoundException" ist in MyConsole.exe aufgetreten.
Zusätzliche Informationen: Die Datei oder Assembly Interop.Excel.1.3, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.
Ist auch logisch, da die besagte Datei nicht da ist.
Jetzt die Frage, wie kann ich das am geschicktesten umgehen, bzw.
Abfangen? So in der Art, 'Es ist die falsche oder keine Version von Excel
installiert, das Programm wird beendet.'
TinTin
-
Indem du in den Projekteigenschaften die entsprechenden Code Analyseregeln definierst.
kann es sein, dass sich das nur auf die Team System Ausgabe bezieht?
-
Indem du in den Projekteigenschaften die entsprechenden Code Analyseregeln definierst.
Welches Studio? Und unter welchem Punkt in den Projekteigenschaften?
ciao TinTin
-
Ja, habe ich und das ganze auch dann wieder deinstalliert, installiert und dann
ging es. So jetzt muss ich 'nur' noch das aktuelle PSDK für VS2005 installieren
und die Pfade anpassen. Mals sehen ob das Auch wieder so ein Gedöns wird.
Jedenfalls war die Fehlerquelle richtig, ich wundere mich zwar immer noch das
es nicht früher aufgefallen ist aber was solls.
TinTin
-
So jetzt hab ich das 2003 SDK installiert und was soll ich sagen, der Linkerfehler
ist immer noch da. Soll die ganze Arbeit umsonst gewesen sein?
TinTin
-
jedenfalls kann ich das Februar 2003 SDK nicht installieren wenn das aktuelle schon auf dem Rechner ist.
auch wenn es deinstalliert ist bekomme ich das alte (2003) nicht drauf. da
kommt die folgende fehlermeldung:
.The currently installed SDK is not in its original installation directory. Please go to Add/Remove Programs, uninstall SDK, and try again
aber es ist doch schon deinstalliert.
-
jedenfalls kann ich das Februar 2003 SDK nicht installieren wenn das aktuelle schon auf dem Rechner ist.
-
Ich habe zwei VS Versionen auf dem Rechner 6.0 und 2005. kann ich denn beide SDKs installieren? Ich denke nicht oder? Und warum ist der Fehler erst jetzt aufgefallen?
-
Die Dateien sind wohl von 04-2005, hab ich denn da ein falsches PSDK und habs nicht gemerkt. Aufgefallen ist mir bisher jedenfalls nichts.
-
ich habe von einem Kollegen ein Projekt bekommen welches im Releasemodus
problemlos zu erstellen ist, wenn ich jedoch auf Debug umschalte bekomme ich
folgen den Linker Fehler:
MyDlg.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: int __thiscall CWnd::KillTimer(unsigned int)" (?KillTimer@CWnd@@QAEHI@Z) Debug/My.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Dem Kollegen ist das nicht aufgefallen, weil er nie den Debugmodus nutzt :cool:.
Mir ist in den Projekteinstellungen nichts besonderes aufgefallen. Hat jemand eine Idee?
TinTin
-
std::vector<Datensatz> Zeilen(2); Datensatz d; d[0]="abcdef"; d[1]="123456"; Zeilen[0] = d; d[0]="abc"; d[1]="123"; Zeilen[1] = d; std::cout << Zeilen[0][1] << std::endl; std::cout << Zeilen[1][1] << std::endl; }
Ich habe es im Prinzip so übernommen, nur verwende ich keinen std::vector
sonder CArray.
danke für Eure Hilfe und Anregungen und ich bin der Meinung, dass unser
Klotzkopp immer noch eins mehr weiss als der Teufel.:uli
-
Das sieht ja vielversprechend aus, werde mir das Ganze mal in Ruhe anschauen
und mich dann melden wie ich es gemacht habe. Danke an alle für die Mühe.
TinTin
-
Es gibt mehrere Möglichkeiten.
Eine wäre es eine struct, die die Einträge für jeweils eine Zeile aufnimmt, anzulegen, die benötigte Anzahl an structs dann z.B. mit einen std::vector zu verwalten.
so in der Art habe ich das auch schon probiert, struct mit sechs CStrings und das ganze mit einem CArray verwaltet. mich stört nur, dass ich dann die daten
nur mit Namen ( struct.string1 usw. ) ansprechen kann. mir wäre dass mit einem Index lieber. In der Art ArrayZeile[X].Spalte[Y].
Wie sind denn die anderen Möglichkeiten?
-
Servus,
ich bin auf der suche nach der lösung nach folgender Aufgabenstellung,
warscheinlich liegt es am Freitag und ich steh auf den Schlauch. Ich bitte um Nachsicht.
gesucht wird ein mehrdimensionales, dynamisches Array in dem ich CStrings
ablegen kann.
index [0] : CString1,CString2,CString3,CString4,CString5,CString6
index [1] : CString1,CString2,CString3,CString4,CString5,CString6
index [3] : CString1,CString2,CString3,CString4,CString5,CString6
...
index [N] : CString1,CString2,CString3,CString4,CString5,CString6
Die Anzahl der Spalten steht fest, die Zeilen müssen dynamisch sein.
Wie würdet Ihr das realisieren?
SQL Statement
in Datenbanken
Geschrieben
die tabelle ist z.Zt. in Access2003
Access2007 scheint concat() nicht zu kennen