ich würde das so machen (pseudo code)
//client
std::map<unsigned long,boost::signal<void ()> > sigs;
data=connection.read_data();
if(data.is_callback())
sigs[data.callback()]();
Ansonsten wenn du nur Funktionen aufrufen willst, gibt es von SUN noch eine RPC Technik
http://www.cs.wpi.edu/~cs4513/b01/week4-sunrpc/week4-sunrpc.html
He Stutzer und Melcho bin auf dieses Forum / diesen Post gestoßen als ich auf der suche nach der Lösung eines anderen Problems war.
Mein Problem ist folgendes:
Ich soll in meinem Unternehmen eine Hilfe für ein Programm schreiben, das in dem QAssistenten angezeigt werden soll. Nur leider hat der QAssistent irgendeinen Bug oder sonstwas, wodurch er beim einmaligen Vergrößern nur die schriftart vergrößert, sollte jedoch eine Tabellenvergrößerung erforderlich sein, tut er dies nicht, sondern schreibt den vergrößerten Text einfach über die Zelle hinaus. DIeses Problem funktioniert auch anders herum: wenn man verkleinert, kann es passieren das der Text verkleinert wird, jedoch die Tabelle nicht, wodurch große Absätze entstehen. Ausserdem schreibt er manchmal über rechte Zellenränder hinweg.
Das erste Problem mit dem Nur Text oder Table Vergrößern/Verkleinern hab ich bereits "umgangen" indem ich die Weite der Tabellen von 100% auf 99% runtergesetzt hab. Denke er hat die 100% als 100% der Oberfläche des QAssistenten gewertet und nicht als die 100% der Table, daher die Zellenüberschreitungen. Nun habe ich das gleiche mit den Zellen probiert aber ohne Erfolg. Daher ist mein Problem nun nur noch, das er gelegentlich über rechte Zellenränder schreibt.
Kann mir vielleicht irgendjemand eine vernünftige Lösung für mein Problem beschreiben?
danke, ich habe es aber anders gelöst.
ich setze das popup auch als staysontop uind dann noch als toplevel und dann klappt das so, wie ich es wollte.
Bastian
oder du ziehst dir das aktuelle slackware 10 von www.slackware.com die zweite cd ist sogar ne live cd. man kanns also installieren und von der cd booten (äh.. ja unabhängig von der installation)
SnorreDev: DANKE !!
supertux:
Ok
noch ein paar Fragen:
Ich möchte zum Anfang etwas einfaches...
kein Hallo World Projekt mit 1MB
Ich habe eine sehr übersichtlichte .cpp und .h Datei gesehen.
----> das hat mir sehr gut gefallen
Jetzt müßte man nach meinem (bisherigen) Verstand "nur" noch
die Dateien compilieren und einge libs hinzulinken, oder nicht ?
Ist das so richtig ?
Wenn ja, gibt es da ein Beispiel ?
Wenn Nein, gibt ein minimal-Beispiel ?
(es ist einfacher mit wenig anzufangen, als mit einem superoptimalen Projekt)
Danke
@DrGreenthumb, danke für die Antwort.
Nur leider waren die Rechte vor meiner Änderung 600. Da konnte sshd die Datei aber nicht öffnen Ich werde noch etwas im Netz forschen. Danke.
hast du mysql/ vergessen?
Bei <> schaut der PP einfach in den Standard Pfaden (idr. /usr/include /usr/local/include) nach und den per -I angegebenen Pfaden.
Jansen schrieb:
Ich finde, sowas ist ausserdem immer eine guter Anlass, sich von etlichen GB Datenmüll zu trennen, die man aufgrund des ererbten Ur-Instinktes der Jäger und Sammler aufgehäuft hat, bei näherer Betrachtung aber doch nicht wirklich braucht.
Hahahaha, und ich dachte das passiert nur mir...! *neueplattebestell*
Hallo,
FTP-Searcher programmed by M4r1cO5<<<<<
Goil
Bei deinem Code wird überhaupt kein Socket erstellt und überhaupt nix verschickt. Das kannst du einfach überprüfen, indem du tcpdump benutzt. Vergleich deinen Code mal mit dem folgenden (ist von hier):
/*
** client.c -- a stream socket client demo
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#define PORT 21 // the port client will be connecting to
#define MAXDATASIZE 100 // max number of bytes we can get at once
int main(int argc, char *argv[])
{
int sockfd, numbytes;
char buf[MAXDATASIZE];
struct hostent *he;
struct sockaddr_in their_addr; // connector's address information
if (argc != 2) {
fprintf(stderr,"usage: client hostname\n");
exit(1);
}
if ((he=gethostbyname(argv[1])) == NULL) { // get the host info
perror("gethostbyname");
exit(1);
}
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("socket");
exit(1);
}
their_addr.sin_family = AF_INET; // host byte order
their_addr.sin_port = htons(PORT); // short, network byte order
their_addr.sin_addr = *((struct in_addr *)he->h_addr);
memset(&(their_addr.sin_zero), '\0', 8); // zero the rest of the struct
if (connect(sockfd, (struct sockaddr *)&their_addr,
sizeof(struct sockaddr)) == -1) {
perror("connect");
exit(1);
}
if ((numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1) {
perror("recv");
exit(1);
}
buf[numbytes] = '\0';
printf("Received: %s",buf);
close(sockfd);
return 0;
}
Marc M. schrieb:
Im KDE oder unter Windows geht die Auflistung der Netzwerkumgebung relativ schnell.
Dort werden dir auch nicht alle an's Netz angeschlossenen Rechner aufgelistet, sondern nur die, die den SMB-Dienst anbieten. Eine Liste dieser Rechner wird auf einem davon, dem sog. Master, geführt, deshalb sind entsprechende Auflistungen relativ schnell, wenn auch nicht immer zuverlässig.
Das ist jetzt etwas verallgemeinert beschrieben, lies dich am besten mal in die Samba-Doku (und ggf. die Sourcen ;)) ein.
Wie das mit gettext() und den Message-Object-Dateien funktioniert, steht (inkl. mehreren Beispielprogrammen) in meinem Buch "C und Linux"
- allerdings ohne Bezug auf die "autotools".
Martin