Zum Inhalt springen

MrChefman

Mitglieder
  • Gesamte Inhalte

    28
  • Benutzer seit

  • Letzter Besuch

  1. Hallo. Was genau tut der Modifier __fastcall? Ich habe zwar nachfolgende Erklärung aus der Hilfe; das sagt mir aber auch nicht so viel. Was sind das für Register, die beschreiben werden? Warum brauchen alle Formulare (zumindest beim BCB) diesen Modifier?
  2. So, dann zum Schluss noch 1 andere Frage: Ich glaube, ich habe ein Teil des Problems in den Griff bekommen. Jetzt will ich aber den Konstruktor von TTcpClient aufrufen. Der Standard-Konstruktor "new TTcpClient()" klappt so nicht (bei TTcpClient *TcpClient1 = new TTcpClient(); ) Kann mal jemand in der Hilfe vom Borland C++ Builder Pro nachschauen (unter Examples), wie man den erstellt?
  3. Ja! Mist, schon wieder vergessen :confused: WinXP, Borland C++ Builder 6.0 Ich hab schonmal eine .exe-Datei ausgeführt (steht glaube ich auch hier im Forum beschrieben). Aber vvlt. geht das ja etwas einfacher. UNd vor allem: Ich muss .exe ausführen und .pdf damit anzeigen lassen. Oder öffnet sich der Viewer automatisch, wenn ich .pdf ausführe?
  4. Kann mir jemand einen Tipp geben, wie ich eine PDF-Datei aus dem laufenden Prgramm heraus öfnnen kann?
  5. Hallo! Wenn ich in meinem C++ Programm eine Save-Dialog öffne, scheint er den darin eingegebnen Pfad als neuen Standard-Pfad zu setzen. Denn danach findet er Grafiken, die im Verzeichnis des ausgeführten Programms liegen, nicht mehr zu finden. Ist das ein normales Verhalten? Wie kann ich danach den Standard-Pfad wirder neu setzen?
  6. Also: kurz formuliert: Ich habe ein Datei "Sockets.hpp", in der - so wie ich es erkennen kann - der TTcpClient, der mir bislang fehlt, beschrieben wird. Hat auch alle propertys - soweit ich das sehen kann. Bislang war er als Objekt auf dem Formular eingebaut. Nun geht das nicht mehr und ich will das Objekt manuell erzeugen. Dazu habe ich die Sockets.hpp included, in der Header das Objekt definiert (TTcpClient *TcpClient1) und will es nun erzeugen: TcpClient1 = new TTcpClient. Will ich dann speichern, kommt die Fehlermeldung: Mainform->TcpClient1 does not have a corresponding component. Was habe ich falsch gemacht?
  7. Ich habe jetzt die Header-Datei "Sockets.hpp" gefunden. Darin ist folgender Text enthalten: class DELPHICLASS TTcpClient; class PASCALIMPLEMENTATION TTcpClient : public TCustomIpClient { typedef TCustomIpClient inherited; __published: __property Active = {default=0}; __property BlockMode = {default=0}; __property Connected ; __property RemoteHost ; __property RemotePort ; __property OnCreateHandle ; __property OnDestroyHandle ; __property OnConnect ; __property OnDisconnect ; __property OnReceive ; __property OnSend ; __property OnError ; public: #pragma option push -w-inl /* TCustomIpClient.Create */ inline __fastcall virtual TTcpClient(Classes::TComponent* AOwner) : TCustomIpClient(AOwner) { } #pragma option pop public: #pragma option push -w-inl /* TBaseSocket.Destroy */ inline __fastcall virtual ~TTcpClient(void) { } #pragma option pop }; Fehler: Field Mainform->TcpClient1 does not have a corresponding component. In der Header habe ich TTcpCLient *TcpClient1 gesetzt. Ich kenne aber alle notwendigen Komponenten. Soll ich die in einer eigenen Header-Datei deklarieren? Oder wie kann ich das machen. Weiterhin habe ich folgende Stelle aus der Header-Datei: class DELPHICLASS TCustomIpClient; class DELPHICLASS TClientSocketThread; class PASCALIMPLEMENTATION TCustomIpClient : public TIpSocket { typedef TIpSocket inherited; private: bool FConnected; TSocketNotifyEvent FOnConnect; TSocketNotifyEvent FOnDisconnect; protected: virtual void __fastcall DoConnect(void); virtual void __fastcall DoDisconnect(void); public: __fastcall virtual TCustomIpClient(Classes::TComponent* AOwner); virtual void __fastcall Open(void); virtual void __fastcall Close(void); bool __fastcall Connect(void); void __fastcall Disconnect(void); TClientSocketThread* __fastcall GetThreadObject(void); __property bool Connected = {read=FConnected, nodefault}; __property TSocketNotifyEvent OnConnect = {read=FOnConnect, write=FOnConnect}; __property TSocketNotifyEvent OnDisconnect = {read=FOnDisconnect, write=FOnDisconnect}; public: #pragma option push -w-inl /* TBaseSocket.Destroy */ inline __fastcall virtual ~TCustomIpClient(void) { } #pragma option pop }; und class DELPHICLASS TIpSocket; class PASCALIMPLEMENTATION TIpSocket : public TBaseSocket { typedef TBaseSocket inherited; private: AnsiString FLocalHost; AnsiString FLocalPort; AnsiString FRemoteHost; AnsiString FRemotePort; void __fastcall SetLocalHost(AnsiString Value); void __fastcall SetLocalPort(AnsiString Value); void __fastcall SetRemoteHost(AnsiString Value); void __fastcall SetRemotePort(AnsiString Value); protected: bool __fastcall Bind(void); public: __fastcall virtual TIpSocket(Classes::TComponent* AOwner); sockaddr_in __fastcall GetSocketAddr(AnsiString h, AnsiString p); AnsiString __fastcall LookupHostName(const AnsiString ipaddr); AnsiString __fastcall LookupHostAddr(const AnsiString hn); Word __fastcall LookupPort(const AnsiString sn, char * pn = (void *)(0x0)); Word __fastcall LookupProtocol(const AnsiString pn); AnsiString __fastcall LocalDomainName(); AnsiString __fastcall LocalHostName(); AnsiString __fastcall LocalHostAddr(); int __fastcall ReceiveFrom(void *buf, int bufsize, const sockaddr_in &ToAddr, int &len, int flags = 0x0); int __fastcall SendTo(void *buf, int bufsize, const sockaddr_in &ToAddr, int flags = 0x0); __property AnsiString LocalHost = {read=FLocalHost, write=SetLocalHost}; __property AnsiString LocalPort = {read=FLocalPort, write=SetLocalPort}; __property AnsiString RemoteHost = {read=FRemoteHost, write=SetRemoteHost}; __property AnsiString RemotePort = {read=FRemotePort, write=SetRemotePort}; __property Domain = {default=2}; public: #pragma option push -w-inl /* TBaseSocket.Destroy */ inline __fastcall virtual ~TIpSocket(void) { } #pragma option pop }; und diese class DELPHICLASS TBaseSocket; class PASCALIMPLEMENTATION TBaseSocket : public Classes::TComponent { typedef Classes::TComponent inherited; private: bool FActive; TServerSocketBlockMode FBlockMode; unsigned FBytesReceived; unsigned FBytesSent; TSocketDomain FDomain; Word FProtocol; int FSocket; TSocketType FSockType; TSocketNotifyEvent FOnCreateHandle; TSocketNotifyEvent FOnDestroyHandle; TSocketErrorEvent FOnError; TSocketDataEvent FOnReceive; TSocketDataEvent FOnSend; void __fastcall SetActive(bool Value); void __fastcall SetBlockMode(TSocketBlockMode Value); void __fastcall SetDomain(TSocketDomain Value); void __fastcall SetProtocol(Word Value); void __fastcall SetSockType(TSocketType Value); protected: DYNAMIC void __fastcall DoCreateHandle(void); DYNAMIC void __fastcall DoDestroyHandle(void); DYNAMIC void __fastcall DoHandleError(void); virtual void __fastcall DoReceive(char * Buf, int &DataLen); virtual void __fastcall DoSend(char * Buf, int &DataLen); virtual int __fastcall ErrorCheck(int rc); virtual void __fastcall Loaded(void); void __fastcall SetBytesReceived(unsigned Value); void __fastcall SetBytesSent(unsigned Value); public: __fastcall virtual TBaseSocket(Classes::TComponent* AOwner); __fastcall virtual ~TBaseSocket(void); virtual void __fastcall Open(void); virtual void __fastcall Close(void); int __fastcall MapDomain(TSocketDomain sd); int __fastcall MapSockType(TSocketType st); int __fastcall PeekBuf(void *Buf, int BufSize); int __fastcall ReceiveBuf(void *Buf, int BufSize, int Flags = 0x0); AnsiString __fastcall Receiveln(const AnsiString eol = "\r\n"); bool __fastcall Select(System::PBoolean ReadReady, System::PBoolean WriteReady, System::PBoolean ExceptFlag, int TimeOut = 0x0); int __fastcall SendBuf(void *Buf, int BufSize, int Flags = 0x0); int __fastcall Sendln(AnsiString s, const AnsiString eol = "\r\n"); int __fastcall SendStream(Classes::TStream* AStream); bool __fastcall WaitForData(int TimeOut = 0x0); __property bool Active = {read=FActive, write=SetActive, default=0}; __property TSocketBlockMode BlockMode = {read=FBlockMode, write=SetBlockMode, default=0}; __property unsigned BytesReceived = {read=FBytesReceived, nodefault}; __property unsigned BytesSent = {read=FBytesSent, nodefault}; __property TSocketDomain Domain = {read=FDomain, write=SetDomain, default=0}; __property int Handle = {read=FSocket, nodefault}; __property Word Protocol = {read=FProtocol, write=SetProtocol, nodefault}; __property TSocketType SockType = {read=FSockType, write=SetSockType, default=0}; __property TSocketNotifyEvent OnCreateHandle = {read=FOnCreateHandle, write=FOnCreateHandle}; __property TSocketNotifyEvent OnDestroyHandle = {read=FOnDestroyHandle, write=FOnDestroyHandle}; __property TSocketErrorEvent OnError = {read=FOnError, write=FOnError}; __property TSocketDataEvent OnReceive = {read=FOnReceive, write=FOnReceive}; __property TSocketDataEvent OnSend = {read=FOnSend, write=FOnSend}; }; und TComponent sollte ja nun bekannt sein...
  8. Jetzt überleg mal, wieso das "Standard-Dialog heißt? Weil die u.a auch Standardgröße haben. Und da wären wir wieder beim ersten Punkt. Prinzipiell gehen alle Dialoge, aber die Buttons sind einfach zu klein! Die MessageBox wieder wegzuklicken ist da schon nicht mehr so einfach... Und noch eine Frage in eigener Sache: http://forum.fachinformatiker.de/c-compiler-ides-apis/99260-borland-c-builder-6-fehlende-packages.html Hat denn da wirklich keiner Ahnung?
  9. Ich arbeite zur Zeit auch mit einem Touch-Screen. Was ich schonmal geändert habe: Nutzte keine Standarddialoge wie z.B. SaveDialogs oder ähnliches. Ansonsten läuft alles wie bei normalen Monitor. Du solltest ggf. auch noch dran denken, den Cursor auszuschalten. Stört zwar nicht aber ist unschön.
  10. Ach, und gleich nochwas: bei meinem C++ Builder öffnet sich der Class-Explorer nicht. Wie kann ich den öffnen?
  11. Hallo! Ich bin vom Borland C++ Builder 6.0 Pro auf die Personal Variante umgestiegen. Das einzige, was nun vermisst wird ist das Package, das den TTcpClient beinhaltet (welches ist das genau?). Kann mir jemand sagen, ob es einzelne Packages nachzukaufen gibt?
  12. Ich habe bereits mit Rhapsody von der Firma I-Logix gearbeitet. Hat gut geklappt. Link musste selber raussuchen.
  13. Hallo. Weiß jemand, wie ich aus einem C++ Quellcode heraus dirket eine PDF Datei erzeugen kann? Zur Zeit werden Daten auf dem Standarddrucker ausgedruckt (eine Art Tabelle). Dazu wurde ein Drucker erzeugt: TPrinter *Prntr = Printer(); und dann die Daten eingetragen (mit Positionsangabe usw.) Prntr->BeginDoc(); Prntr->Canvas->TextOutA(300,1700,text); Prntr->EndDoc(); Geht das so ähnlich auch als PDF? Ich werde als Quick-and-Dirty Lösung versuchen, als Standarddrucker eine PDF-Erzeuger einzusetzen. Ich will das ganze aber ohne jegliche weitere Abfrage (nach Dateinamen usw.) starten.
  14. Hallo zusammen. Ich arbeite zur Zeit mit Borland C++ Builder 6 Pro auf der Firma. Wir brauchen aber nun weitere Lizenzen. Da der Preisunterschied zwischen Pro und Personal doch gewaltig ist, überlegen wir, den Borland C++ Builder 6 Personal zu kaufen. Kann man damit auch vernünftig entwickeln? Es geht um GUI Entwicklung, die über TCP/IP mit einem Server kommuniziert. Was ein Problem sein könnte: in allen bislang erzeugten .cpp Dateien wird vcl.h eingebunden. Klappt das auch mit der Personal Edition? Außerdem versuche ich den Code in MS Visual Studio 6.0 zu portieren. Das klappt so auf Anhieb nicht. Eben weil die vcl.h (und wenn man die kopiert dann weitere Header) fehlt. Außerdem legt Borland die Forms (Fenster) als .dfm Dateien ab - womit das Visual Studio nix anfangen kann....

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...