Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Problem mit Klassenzugriff in Console
Rylon - Do 11.01.07 10:03
Titel: Problem mit Klassenzugriff in Console
Hallo DF,
Ich hab folgendes Problem:
Ich habe eine Consolen-Anwendung:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| program Server;
{$APPTYPE CONSOLE}
uses ...;
type TIrgendEineKlasse = class; public Eigenschaft1:string; ... end;
...
var IrgendEineKlasse:TIrgendEineKlasse;
begin
IrgendEineKlasse:TIrgendEineKlasse.create;
...
end. |
Das funktioniert auch alles schön.
Nun möchte ich aber aus der Unit XY auf die Klasse IrgendEineKlasse zugreifen. Das funktioniert nicht, da die dpr keine Unit ist.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| unit XY;
interface
uses ...;
procedure DoSomething;
implementation
procedure DoSomething; begin
IrgendEineKlasse.eigenschaft1:='Test'; end;
end. |
Kann mir da jemand helfen?
IngoD7 - Do 11.01.07 10:19
Titel: Re: Problem mit Klassenzugriff in Console
Rylon hat folgendes geschrieben: |
Das funktioniert nicht, da die dpr keine Unit ist.
|
Richtig erkannt.
Deklariere doch die Klasse in der Unit (oder in einer anderen).
Rylon - Do 11.01.07 10:23
Ja die Klasse kann ich auch irgendwo annerst deklarieren, aber sie erstellen, kann ich nur im Hauptprogramm, da ja alles annere nicht ausgeführt wird.
Gibt es keine Möglichkeit auf die erstellte Klasse zuzugreifen?
Udontknow - Do 11.01.07 11:04
Hallo!
Sobald du auch die Variable in eine Unit verschiebst (wohlgemerkt im Interface-Teil!), ist doch alles in Butter. Und erstellen könntest du ja trotzdem woanders, du kannst ja einfach eine Prozedur einer Unit aus der DPR aufrufen lassen.
Cu,
Udontknow
IngoD7 - Do 11.01.07 11:29
Zudem wird doch der initialization-Abschnitt einer eingebundenen Unit bei Programmstart ausgeführt. Da kannst du auch erstellen, was immer du möchtest. Im finalization-Abschnitt dann die Sachen ggf. wieder freigeben.
//NACHTRAG:
Also so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48:
| program Server;
{$APPTYPE CONSOLE}
uses SysUtils, XY in 'XY.pas';
begin dosomething; if IrgendEineKlasse.eigenschaft1 = 'Test' then begin beep; write('Ich habe gepiept.'); sleep(5000); end; end.
=============SCHNIPP===================
unit XY;
interface
type TIrgendEineKlasse = class Eigenschaft1:string; end;
var IrgendEineKlasse:TIrgendEineKlasse; procedure DoSomething;
implementation
procedure DoSomething; begin IrgendEineKlasse.eigenschaft1 := 'Test'; end;
initialization IrgendEineKlasse:=TIrgendEineKlasse.create;
finalization IrgendEineKlasse.free;
end. |
Rylon - Do 11.01.07 17:45
Danke,
habe es nach dem Muster der Form gemacht. D.H. neue Unit, Klasse deklariert und eine Variable dieser Klasse erstellt. Diese initialisiere ich dann in dpr.
Bei dem ganzen bin ich dann zu dem Schluss gekommen, das Console in Delphi überflüssig und unbrauchbar ist, da ich noch nciht mal ein Ereignis auswerten kann, ohne große Probleme, geschweigedenn, dass die Textausgabe entsprechend funktioniert.
-> Ist das bei C++ genau so oder kann man da Ereignisse wenigstens noch auswerten?
Greez Rylon
und thx für eure schnellen Antworten.
Udontknow - Fr 12.01.07 18:10
Zitat: |
da ich noch nciht mal ein Ereignis auswerten kann, ohne große Probleme, geschweigedenn, dass die Textausgabe entsprechend funktioniert.
|
Wie meinst du das? Warum sollten Ereignisse nicht funktionieren? Und was hast du für Probleme mit der Textausgabe?
In meiner Firma schreiben wir viele Konsolenanwendungen mit mehreren Units, Probleme hats noch nie gegeben.
Cu,
Udontknow
JayEff - Fr 12.01.07 20:35
Rylon hat folgendes geschrieben: |
Bei dem ganzen bin ich dann zu dem Schluss gekommen, das Console in Delphi überflüssig und unbrauchbar ist, da ich noch nciht mal ein Ereignis auswerten kann, ohne große Probleme, geschweigedenn, dass die Textausgabe entsprechend funktioniert. |
...
Wenn etwas nicht funktioniert, such die Schuld in erster Linie erstmal bei dir ;) Die Textausgabe in einer Konsolenanwendung ist ziemlich beschränkt, nämlich auf das, was die früheren DOS Programme konnten. Ändern kann man das z.B. mit der Unit
CONSOLE32. Ein Ereignis auszuwerten.. ähm .. Du sprichst von einem TNotifyEvent oder? Also wie z.B. onMouseMove beim TImage oder sowas...? Soweit ich weiß, kannst du Ereignisse problemlos mit einem Handler versehen, in dem du die Message, die das Ereignis auslößt, abfängst.
Klar kannst du nicht einfach ein TEdit in der dpr deklarieren und initialisieren und so auf ein onKeyDown zugreifen, oder was auch immer.
Und in C++ wirds wohl kaum anders sein, da das nicht unbedingt was mit der Programmiersprache zu tun hat ... Aber auf dem Gebiet kenn ich mich jetzt nich aus.
Rylon - Sa 13.01.07 10:18
Danke für die Antworten...
1.
Das die Ausgabe beschränkt ist ist genau meine Rede. Und aus diesem Grund bin ich von der Console abgekommen. Z.B. sind Umlaute nur mit einer Funktion darstellbar, deren unit nicht mit delphi 3,6,7,9 usw. ausgeliefert wird. Soweit noch kein Problem, aber wenn ich nun diese Funktion aufrufe und einen Fehler mache, beendet sich das Programm beim Start -> Wie soll ich da bitte debuggne?. Nachdem auch diese Problem gelöst war hat er zwar umlaute dargestellt, aber den Text total verhackstückt. -> Was soll ich bitte damit anfangen.
2.
Ja, ich meine einen TNotifyEvent und mir ist schon klar, dass ich keine graphischen Objecte benutzen kann, halt mich nicht für blöd. Nein, ich wollte, für was sollen consolen sonst gut sein, einen Server schreiben. Doch leider funktionieren die Sockets nicht in der Console -> Ich müsste auf irgendwelche alternativen zurückgreifen.
Fazit: Consolen sind nur für Server-Software interresant, leider funktioniert die Basis für einen solchen Server schon nich: Consolen in delphi sind crap!
Greez Rylon
JayEff - Sa 13.01.07 16:04
Blödsinn. du kannst in einer Konsolenanwendung einen MessageProc durchaus instantiieren, wenn du ein unsichtbares Fenster einbaust (Zitat
BenBE über MSN :) )
Weiterhin ist das in jeder anderen Programmiersprache nicht viel anders und damit ist es Blödsinn zu behaupten, Konsolen in Delphi sind sinnlos.
Du hast grade mein
Heiliges Delphi :flehan: beleidigt, darauf reagiere ich allergisch, nix für ungut ;)
Rylon - Sa 13.01.07 17:03
Ich habe bis jetzte immer mit GUI gearbeitet, sprich mit form. Nun wollte ich mir die Console angucken (Serverkram...) und habe gegen mein erwarten festgestellt, das die console nicht einfach nur das weglassen eines Graphischen Fensterns ist, sondern, das vieles mehr fehlt, was bei der Form schon mit drin ist.
Greez Rylon
PS: Ich wollte niemanden seine Kultur beleidigen ;-)
Delete - Sa 13.01.07 17:10
Rylon hat folgendes geschrieben: |
Danke für die Antworten...
1.
Das die Ausgabe beschränkt ist ist genau meine Rede. Und aus diesem Grund bin ich von der Console abgekommen. Z.B. sind Umlaute nur mit einer Funktion darstellbar |
Dann bemüht man eben mal etwas Google und findet dann so was:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| function Ansi2OEM(AnsiString: string): string; begin ANSIString := ANSIString + #0; CharToOEM(PChar(ANSIString), @ANSIString[1]); Delete(ANSIString, Length(ANSIString), 1); Result := ANSIString; end; |
Zitat: |
Ja, ich meine einen TNotifyEvent und mir ist schon klar, dass ich keine graphischen Objecte benutzen kann, halt mich nicht für blöd. Nein, ich wollte, für was sollen consolen sonst gut sein, einen Server schreiben. Doch leider funktionieren die Sockets nicht in der Console -> Ich müsste auf irgendwelche alternativen zurückgreifen. |
Auch da kann man einfach mal Google bemühen und findet dann sowas:
http://www.michael-puff.de/Developer/Delphi/Sonstiges/Timer_in_Konsole.html
Zitat: |
Fazit: Consolen sind nur für Server-Software interresant, leider funktioniert die Basis für einen solchen Server schon nich: Consolen in delphi sind crap! |
Das einzige was
crap ist, ist der Stuss den du hier erzählst. Entschuldigug für die harten Worte, aber das ist nun mal so. Bevor du hier so ein Mist erzählst, solltest du dich erstmal etwas damit auseinandersetzen.
Rylon hat folgendes geschrieben: |
das die console nicht einfach nur das weglassen eines Graphischen Fensterns ist, sondern, das vieles mehr fehlt, was bei der Form schon mit drin ist. |
Und was wäre das bitte sehr? :roll:
Rylon - Sa 13.01.07 18:12
Zitat: |
Dann bemüht man eben mal etwas Google und findet dann so was: ...
|
Wie ich bereits geschrieben habe, bin ich auf diese Funktion schon gestoßen (CharToOEM). Leider hat sie mein Text verhackstückt. Wer lesen kann ist klar im Vorteil ;-)
mmm.... kommt es mir nur so vor, oder ist einen Timer auf eine Form zu werfen nicht 1000000x komplizierter, als
1.Im Internet nach Lösungen zu suchen
2.ca 75 Zeilen Code zu schreiben um das zu erreichen, was man normalerweise mit zwei Klicks machen kann.
3.Sleep zu benutzen.
Außerdem den mal drüber nach, was passiert, wenn jetzte noch ein readln rein muss.
Zitat: |
Zitat: |
Fazit: Consolen sind nur für Server-Software interresant, leider funktioniert die Basis für einen solchen Server schon nich: Consolen in delphi sind crap!
|
Das einzige was crap ist, ist der Stuss den du hier erzählst. Entschuldigug für die harten Worte, aber das ist nun mal so. Bevor du hier so ein Mist erzählst, solltest du dich erstmal etwas damit auseinandersetzen.
|
Hast du mal probiert einen TServerSocket in Delphi-Console zu benutzen -> Das ist genau das was ich damit ausgesagt habe!
Also setz dich ersteinmal selber damit auseinander, bevor du hier die große nummer schiebst und auf beleidigt machst nur weil es um dein tolles delphi geht.
Ich will dir nicht vorenthalten: Ich benutze Delphi schon seit 6 Jahren und muss sagen es ist Müll.
Und bevor du dich noch weiter aufregst und weiter rumflamest erklär ich dir auch warum:
1. Ich bin Hobbyprogrammierer und noch dazu kleiner armer Schüler. Leider kann ich nichts, was ich programmiert habe (in delphi-pascal) verkaufen, da Borland tausende Euro dafür will. Wie soll ich das bitte bezahlen. Und noch wichtige: Wie soll ich das wieder reinbekommen?
2. Es besteht keine Portierbarkeit zu anderen Systemen, nicht das ich auf andere Systeme groß Wert lege, aber bei Servern ist das Betribsystem nunmal fast zwangsläufig Linux. Und jetzt komm mir nicht mit Kylix -> Als ich noch Linux hatte hab ichs noch nicht einmal hinbekommen es zu installieren. (Und das lag nicht an mir (viele hatten das Problem)).
Ich will nicht sagen, dass Delphi nur Nachteile hat, auf keinen Fall. Vor allem die klare und übersichtliche Syntax mit begin und end (im gegensatz zu dreckinge klammern in c++) sind toll. Oder auch die Einfachheit mal schnell ein Programm zu schreiben sind überragend. (Und man bleibt von Puffer-überläufen verschont).
Aber C++ ist und bleibt leider wohl der Standart, und Delphi nur eine Lern-Sprache, die man in der Schule lernt.
das die console nicht einfach nur das weglassen eines Graphischen Fensterns ist, sondern, das vieles mehr fehlt, was bei der Form schon mit drin ist.
Soweit das... Noch ein Kommentar:
Zitat: |
Zitat: |
das die console nicht einfach nur das weglassen eines Graphischen Fensterns ist, sondern, das vieles mehr fehlt, was bei der Form schon mit drin ist.
|
Und was wäre das bitte sehr?
|
So -> Das wars, du bist dran
Greez Rylon
jaenicke - Sa 13.01.07 18:19
Rylon hat folgendes geschrieben: |
Ich will dir nicht vorenthalten: Ich benutze Delphi schon seit 6 Jahren und muss sagen es ist Müll. |
Da muss ich widersprechen...
Rylon hat folgendes geschrieben: |
Und bevor du dich noch weiter aufregst und weiter rumflamest erklär ich dir auch warum:
1. Ich bin Hobbyprogrammierer und noch dazu kleiner armer Schüler. Leider kann ich nichts, was ich programmiert habe (in delphi-pascal) verkaufen, da Borland tausende Euro dafür will. Wie soll ich das bitte bezahlen. Und noch wichtige: Wie soll ich das wieder reinbekommen? |
Turbo Delphi Explorer (entspricht Delphi 2006 Prof., darfst nur 3rd-Party-Kompos nur non-visuell verwenden, was aber ja ausreicht) ist kostenlos,
auch für kommerzielle Nutzung, und Delphi 2005 PE ebenso...
// EDIT:
Ach so: Delphi 2006 Professional und Turbo Delphi Professional gibts auch schon für unter 500 Euro. Legal wohlgemerkt!
JayEff - Sa 13.01.07 18:26
Rylon hat folgendes geschrieben: |
Also setz dich ersteinmal selber damit auseinander, bevor du hier die große nummer schiebst und auf beleidigt machst nur weil es um dein tolles delphi geht.
Sieh dir Lukies Homepage an, und sag mir, mit WAS GENAU er sich auseinander setzen soll :roll:
|
Rylon hat folgendes geschrieben: |
Ich will dir nicht vorenthalten: Ich benutze Delphi schon seit 6 Jahren und muss sagen es ist Müll.
|
Also ... hast du 6 Jahre deines Lebens verschwendet, an etwas, das völlig wertlos ist... Hmm.. genau wie ich seit meinem 12ten Lebensjahr jetzt auf 7 verschwendete Jahre komme, und niemals auch nur im geringsten auf den Gedanken gekommen bin, dass Delphi anderen Programmiersprachen hinterher sein könnte. (Nachdem ich den Versuch, C++ zu benutzen schnellstens aufgegeben hab)
Abschließend eine Bemerkung: Bitte fang mit Luckie eine Diskusion über den Nutzen von Delphi an! Ich will was zu lachen haben! :roll:
Delete - Sa 13.01.07 18:41
Rylon hat folgendes geschrieben: |
Zitat: |
Dann bemüht man eben mal etwas Google und findet dann so was: ...
|
Wie ich bereits geschrieben habe, bin ich auf diese Funktion schon gestoßen (CharToOEM). Leider hat sie mein Text verhackstückt. Wer lesen kann ist klar im Vorteil ;-) |
Mir hat die Funktion noch nie einen String kaputt gemacht. Wäre man schön, wenn du ein konkretes Beispiel zeigen würdest.
Zitat: |
mmm.... kommt es mir nur so vor, oder ist einen Timer auf eine Form zu werfen nicht 1000000x komplizierter, als
1.Im Internet nach Lösungen zu suchen
2.ca 75 Zeilen Code zu schreiben um das zu erreichen, was man normalerweise mit zwei Klicks machen kann.
3.Sleep zu benutzen. |
Ähm, zu jedem Problem gibt es eine Lösung, die eine ist einfach, die andere kompliziert. Wenn du dich fü die komplizierte Lösung entscheidest, ist es nicht der Fehler der Entwicklungsumgebung, wenn du Schwierigkeiten hast, sondern es ist dann dein Problem.
Zitat: |
Außerdem den mal drüber nach, was passiert, wenn jetzte noch ein readln rein muss. |
Kann ich gerne drüber nachdenken und dann?
Zitat: |
Hast du mal probiert einen TServerSocket in Delphi-Console zu benutzen -> Das ist genau das was ich damit ausgesagt habe! |
Nein habe ih noch nicht. Aber dass es einfacher ist eine Komponente auf ein Formular zu ziehen, als alles selber zu erstellen im Code, liegt wohl auf der Hand.
Zitat: |
Also setz dich ersteinmal selber damit auseinander, bevor du hier die große nummer schiebst und auf beleidigt machst nur weil es um dein tolles delphi geht. |
Ich schiebe hier keine
große Nummer und ich bin nicht derjenige für den Delphi das Maß aller Dinge ist. Ich wähle meine Werkzeuge mit denen ich die mir gestellte Aufgabe am effizientesten lösen kann. Dazu gehört für mich auch C/C++, Java und PHP.
Zitat: |
Ich will dir nicht vorenthalten: Ich benutze Delphi schon seit 6 Jahren und muss sagen es ist Müll. |
Warum benutzt du es dann? Da du selber sagst, dass du nur ein Hobbyprogrammierer bist, gibt es wohl auch keinen Arbeitgeber, der dir irgendwelche Vorgaben macht. Also, warum nutzt du dann nicht das Werkzeug, die deiner Meinung nach besser für dich geeignet sind und eventeull noch kostenlos zu erhalten sind?
Zitat: |
Und bevor du dich noch weiter aufregst und weiter rumflamest erklär ich dir auch warum: |
Wo habe ich bitte sehr geflammt?
Zitat: |
1. Ich bin Hobbyprogrammierer und noch dazu kleiner armer Schüler. Leider kann ich nichts, was ich programmiert habe (in delphi-pascal) verkaufen, da Borland tausende Euro dafür will. Wie soll ich das bitte bezahlen. Und noch wichtige: Wie soll ich das wieder reinbekommen? |
Ich bin ein kleiner armer Auszubildender zum Fachinformatiker, wie soll ich mir bitte einen Ferrari leisten können? Borland bzw. Codegear bietet mit den Turbo Versionen ihrer IDE auch kostenlose Alternativen an. Hinter den Produkten von Borland steckt jede Menge Knowhow und Arbeit mit der der Anwender wiederrum entsprechende Software entwicklen kan, die er dann zu einem entsprechenden Preis verkaufen kann. Warum sollte Borland also seinen Teil den sie dazu beitragen verschenken? Die Professional und Enterprise Versionen sind auch nicht für Schüler gedacht, sondern richten sich an Firmen, die damit hier Geld verdienen. Aber da fü+r dichja Delphi sowieso Müll ist, warum nutzt du dann nicht ein kostenloses Werkzeug und regst dich statt dessen über die Preispolitik von Borland auf? Btw. das ist flamen und nicht meine Argmentation.
Zitat: |
2. Es besteht keine Portierbarkeit zu anderen Systemen, nicht das ich auf andere Systeme groß Wert lege, aber bei Servern ist das Betribsystem nunmal fast zwangsläufig Linux. Und jetzt komm mir nicht mit Kylix -> Als ich noch Linux hatte hab ichs noch nicht einmal hinbekommen es zu installieren. (Und das lag nicht an mir (viele hatten das Problem)). |
Das ist und war auch nie Ziel von Borland. Borland stellt mit Delphi ein Tool zur Verfügung, dass dahingehend optimiert und entwickelt wurde, um schnellstmöglich Anwendungen für den Benutzermodus in Win32 (bevorzugt GUI) zu entwickeln.
Zitat: |
Aber C++ ist und bleibt leider wohl der Standart, und Delphi nur eine Lern-Sprache, die man in der Schule lernt. |
Komisch, in unserere Firma entwicklen wir so wohl interne Projekte, als auch Projekte für Kunden mit Delphi. Und es gibt viele kommerzielle Produkte, die mit Delphi entwickelt wurden und werden.
Zitat: |
das die console nicht einfach nur das weglassen eines Graphischen Fensterns ist, sondern, das vieles mehr fehlt, was bei der Form schon mit drin ist. |
Was fehlt denn? Es ist eben eine Konsolenanwendung. Aber alle Sprachfeatures funktionieren dort genauso, wie in einer GUI-Anwendung.
Rylon - So 14.01.07 01:10
Zitat: |
Turbo Delphi Explorer (entspricht Delphi 2006 Prof., darfst nur 3rd-Party-Kompos nur non-visuell verwenden, was aber ja ausreicht) ist kostenlos, auch für kommerzielle Nutzung, und Delphi 2005 PE ebenso...
|
Sorry da war ich nicht richtig informiert. Ich dachte die neue Version sei auch für 500€ nicht ohne Einschränkungen für kommerziellen Vertrieb nutzbar.
Zitat: |
Also ... hast du 6 Jahre deines Lebens verschwendet, an etwas, das völlig wertlos ist... Hmm.. genau wie ich seit meinem 12ten Lebensjahr jetzt auf 7 verschwendete Jahre komme, und niemals auch nur im geringsten auf den Gedanken gekommen bin, dass Delphi anderen Programmiersprachen hinterher sein könnte. (Nachdem ich den Versuch, C++ zu benutzen schnellstens aufgegeben hab)
|
Ganz und gar nicht, ich habe programmieren gelernt und kann, ohne überheblich zu sein, ein wenig mit delphi machen kann. Leider kann ich später mit den praktischen Delphikenntnissen nich viel anfangen, da es kaum firmen gibt, die es benutzen.
Das mit dem C++ ist bei mir ähnlich -> die Syntax mit den { kann ich nicht leiden, bin aber nun durch ein Praktikum gezwungen es zu lernen ;-)
Übrigens -> Ich "arbeite" mit Delphi auch seit ich 12 bin ;-)
Zitat: |
Abschließend eine Bemerkung: Bitte fang mit Luckie eine Diskusion über den Nutzen von Delphi an! Ich will was zu lachen haben! :roll:
|
Ich bemüh mich.
Zitat: |
Mir hat die Funktion noch nie einen String kaputt gemacht. Wäre man schön, wenn du ein konkretes Beispiel zeigen würdest.
|
Sorry, klingt jetzt nach einer faulen Ausrede, aber ich hab meinen kompletten Versuche mit der Console gelöscht -> Mangels Erfolg. Aber der Code war irgendwo aus dem Forum, wein wenig abgeädert
Zitat: |
Ähm, zu jedem Problem gibt es eine Lösung, die eine ist einfach, die andere kompliziert. Wenn du dich fü die komplizierte Lösung entscheidest, ist es nicht der Fehler der Entwicklungsumgebung, wenn du Schwierigkeiten hast, sondern es ist dann dein Problem.
|
Aus dem Grund habe ich die D-Console als nutzlos abgestempelt, da die scheinbar immer der kompliziertere Weg ist. -> Außerdem, was ist das für eine Antwort? -> Wie ich nun schon bestimtm 3 mal gesagt habe dachte ich console sein all das, was mit der form auch da wäre nur ohne fenster(form). Is es halt nicht. Und da brauch ich dann nicht anfangen den benötigten kram irgendwie nachzubauen.
Zitat: |
Kann ich gerne drüber nachdenken und dann?
|
Ja, was passiert?
Zitat: |
Nein habe ih noch nicht. Aber dass es einfacher ist eine Komponente auf ein Formular zu ziehen, als alles selber zu erstellen im Code, liegt wohl auf der Hand.
|
Ich finde nicht, das es auf der hand liegt. (Man gehe mal davon aus eine variable der entsprechenden klasse zu deffinieren sei gleichwertig mit "auf-die-form-schmweißen")
Zitat: |
Ich schiebe hier keine große Nummer und ich bin nicht derjenige für den Delphi das Maß aller Dinge ist. Ich wähle meine Werkzeuge mit denen ich die mir gestellte Aufgabe am effizientesten lösen kann. Dazu gehört für mich auch C/C++, Java und PHP.
|
Schön und lobsam, das kann ich nich ;-) -> Aber warum dann der Aufstand?
Zitat: |
Warum benutzt du es dann? Da du selber sagst, dass du nur ein Hobbyprogrammierer bist, gibt es wohl auch keinen Arbeitgeber, der dir irgendwelche Vorgaben macht. Also, warum nutzt du dann nicht das Werkzeug, die deiner Meinung nach besser für dich geeignet sind und eventeull noch kostenlos zu erhalten sind?
|
Ich habs probiert, aber ich kann mti c++ nicht besondern, wie schon gesagt.
Zitat: |
Wo habe ich bitte sehr geflammt?
|
-> siehe Hier
Zitat: |
Das einzige was crap ist, ist der Stuss den du hier erzählst. Entschuldigug für die harten Worte, aber das ist nun mal so. Bevor du hier so ein Mist erzählst, solltest du dich erstmal etwas damit auseinandersetzen.
|
Zitat: |
Ich bin ein kleiner armer Auszubildender zum Fachinformatiker, wie soll ich mir bitte einen Ferrari leisten können? Borland bzw. Codegear bietet mit den Turbo Versionen ihrer IDE auch kostenlose Alternativen an. Hinter den Produkten von Borland steckt jede Menge Knowhow und Arbeit mit der der Anwender wiederrum entsprechende Software entwicklen kan, die er dann zu einem entsprechenden Preis verkaufen kann. Warum sollte Borland also seinen Teil den sie dazu beitragen verschenken? Die Professional und Enterprise Versionen sind auch nicht für Schüler gedacht, sondern richten sich an Firmen, die damit hier Geld verdienen. Aber da fü+r dichja Delphi sowieso Müll ist, warum nutzt du dann nicht ein kostenloses Werkzeug und regst dich statt dessen über die Preispolitik von Borland auf? Btw. das ist flamen und nicht meine Argmentation.
|
Weil ich die Sprache toll finde!
Zitat: |
Das ist und war auch nie Ziel von Borland. Borland stellt mit Delphi ein Tool zur Verfügung, dass dahingehend optimiert und entwickelt wurde, um schnellstmöglich Anwendungen für den Benutzermodus in Win32 (bevorzugt GUI) zu entwickeln.
|
"nie ziel von Borland" -> Kylix ist vom Himmel gefallen?
Und das löst das Problemder portierbarkeit nicht!
Zitat: |
Komisch, in unserere Firma entwicklen wir so wohl interne Projekte, als auch Projekte für Kunden mit Delphi. Und es gibt viele kommerzielle Produkte, die mit Delphi entwickelt wurden und werden.
|
Viele. Also nur als Beispiel: Frag dich mal wieviele Spiele in Delphi geschreiben wurden. Und wieviele Betriebsysteme in Pascal, Programme die auch auf Linux laufen sollen, timimg-relevante software....
Zitat: |
Was fehlt denn? Es ist eben eine Konsolenanwendung. Aber alle Sprachfeatures funktionieren dort genauso, wie in einer GUI-Anwendung.
|
Gut, nur wenn ich Programme schreibe, dann brauche ich mehr als die befehle readln und writeln.
Greez Rylon
Martok - So 14.01.07 03:10
Ich misch mich dann auch mal ein :)
Rylon hat folgendes geschrieben: |
Zitat: |
Ähm, zu jedem Problem gibt es eine Lösung, die eine ist einfach, die andere kompliziert. Wenn du dich fü die komplizierte Lösung entscheidest, ist es nicht der Fehler der Entwicklungsumgebung, wenn du Schwierigkeiten hast, sondern es ist dann dein Problem.
|
Aus dem Grund habe ich die D-Console als nutzlos abgestempelt, da die scheinbar immer der kompliziertere Weg ist. -> Außerdem, was ist das für eine Antwort? -> Wie ich nun schon bestimtm 3 mal gesagt habe dachte ich console sein all das, was mit der form auch da wäre nur ohne fenster(form). Is es halt nicht. Und da brauch ich dann nicht anfangen den benötigten kram irgendwie nachzubauen. |
Naja, wo ist denn genau dein Problem? Du sagst immer nur, dir fehlt alles. Naja, was denn? Wenn du Object Pascal (Delphi) Programmierst, findest du alles. Wenn du eine Klasse hast (was OOP nunmal ausmacht), dann kannst du auch einfach Ereignisse zuweisen, denn dann ist das
procedure of object erfüllt. Wenn nicht, dann beschwer dich nicht über die Sprache, denn die könnte das alles.
Und wenn du meinst, mit anderen Sprachen kann man in der 'Standardinstallation' mehr auf der Console machen als ReadLn/WriteLn, dann hast du dich geschnitten. Es sind immer Zusatzbibliotheken notwendig.
Rylon hat folgendes geschrieben: |
Ich finde nicht, das es auf der hand liegt. (Man gehe mal davon aus eine variable der entsprechenden klasse zu deffinieren sei gleichwertig mit "auf-die-form-schmweißen") |
Naja, erzeugen muss man die Instanz schon :roll:
Rylon hat folgendes geschrieben: |
Ich habs probiert, aber ich kann mti c++ nicht besondern, wie schon gesagt. |
Dann versuch dich doch mit FreePascal. Da hast du auch die Delphi-Sprache, sogar portierbar. Nur eben keine so schöne IDE wie Delphi. Aber Delphi magst du ja eh nicht...
Rylon hat folgendes geschrieben: |
Zitat: |
Das ist und war auch nie Ziel von Borland. Borland stellt mit Delphi ein Tool zur Verfügung, dass dahingehend optimiert und entwickelt wurde, um schnellstmöglich Anwendungen für den Benutzermodus in Win32 (bevorzugt GUI) zu entwickeln.
|
"nie ziel von Borland" -> Kylix ist vom Himmel gefallen? |
Kylix wurde gemacht, weil es die Community wollte. Borland selbst hat das dann auch nicht weiter verfolgt, woran sich deren Haltung dazu doch ganz gut erkennen lässt.
Rylon hat folgendes geschrieben: |
Zitat: |
Komisch, in unserere Firma entwicklen wir so wohl interne Projekte, als auch Projekte für Kunden mit Delphi. Und es gibt viele kommerzielle Produkte, die mit Delphi entwickelt wurden und werden.
|
Viele. Also nur als Beispiel: Frag dich mal wieviele Spiele in Delphi geschreiben wurden. Und wieviele Betriebsysteme in Pascal, Programme die auch auf Linux laufen sollen, timimg-relevante software.... |
Spiele: wenn es ein gutes DirectX-SDK geben würde, sicherlich viel mehr. Aber wenn keiner eins schreiben will... OpenGL ist da (dank DelphiGL) schon weiter, hier gibt es viele gute. Man nehme nur Sascha Willems' Spiele.
Betriebssysteme: siehst ja, was dabei raus kommt. Pufferüberläufe an allen Ecken und Enden.
Und, wie viele Medizinische, Militärische oder sonstwie sicherheitskritische Systeme werden mit C(++/#) geschrieben? Na? Siehste. Da kann man sich einfach keine falsch dereferenzierten Pointer leisten, durch die dann halt mal ein paar Millionen sterben(Wobei sich die 'Pointerei' mit C# erfreulich gebessert hat).
Siehe dazu auch
http://blogs.codegear.com/nickhodges/archive/2006/12/21.aspx
Und zum Thema Flaming: bisher hast du immer nur gesagt, Delphi ist Müll. Dabei kam noch nicht ein Beweis, trotzdem bestehst du vehement auf deiner Meinung. Das erfüllt alle Kriterien für Flames.
cu,
Martok
jaenicke - So 14.01.07 12:08
Rylon hat folgendes geschrieben: |
Zitat: |
Ähm, zu jedem Problem gibt es eine Lösung, die eine ist einfach, die andere kompliziert. Wenn du dich fü die komplizierte Lösung entscheidest, ist es nicht der Fehler der Entwicklungsumgebung, wenn du Schwierigkeiten hast, sondern es ist dann dein Problem.
|
Aus dem Grund habe ich die D-Console als nutzlos abgestempelt, da die scheinbar immer der kompliziertere Weg ist. -> Außerdem, was ist das für eine Antwort? -> Wie ich nun schon bestimtm 3 mal gesagt habe dachte ich console sein all das, was mit der form auch da wäre nur ohne fenster(form). Is es halt nicht. Und da brauch ich dann nicht anfangen den benötigten kram irgendwie nachzubauen. |
Es ist dasselbe, du musst nix nachbauen...
Es ist in einer Konsolenanwendung oft sinnvoll es nachzubauen, weil dann die ganzen Units, die eine VCL-Anwendung braucht, nicht benötigt werden. Z.B. wenn ich ein SFX-Modul baue, dann baue ich viel nach, und selbst das Formular habe ich nicht mit der VCL sondern mit Visual Studio gebaut und per Resource eingebunden. Einfach, weil dadurch mein Zip-Sfx-Modul gerade mal 31 KiB groß ist. Und das ließe sich noch weiter optimieren.
Aber zurück zur Übertragung von VCL-Komponenten auf non-VCL...
Du kannst durchaus auch die TTimer-Komponente in der Konsole benutzen. Hier der elegante Weg von
Luckie:
http://www.michael-puff.de/Developer/Delphi/Sonstiges/Timer_in_Konsole.html
und hier ein einfacherer, dafür aber nicht so eleganter Weg:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48:
| program Project61;
{$APPTYPE CONSOLE}
uses Forms, SysUtils, ExtCtrls; type TMyAppEvents = class procedure MyTimerOnTimer(Sender: TObject); end;
var MyAppEvents: TMyAppEvents; MyTimer: TTimer; TimerCount: Byte; UserName: String;
procedure TMyAppEvents.MyTimerOnTimer(Sender: TObject); begin WriteLn('Hallo ' + UserName); Inc(TimerCount); end;
begin TimerCount := 0;
WriteLn('Hallo, dies ist lediglich ein kleiner Test!'); Write('Wie ist dein Name: '); ReadLn(UserName); WriteLn('');
MyAppEvents := TMyAppEvents.Create; MyTimer := TTimer.Create(nil); MyTimer.Interval := 1000; MyTimer.OnTimer := MyAppEvents.MyTimerOnTimer; MyTimer.Enabled := True; while TimerCount < 10 do begin Application.ProcessMessages; Sleep(100); end; MyTimer.Free; MyAppEvents.Free; end. |
Rylon hat folgendes geschrieben: |
Zitat: |
Kann ich gerne drüber nachdenken und dann?
|
Ja, was passiert? |
Naja, es funktioniert. Das ist natürlich passiert. Was sollte schon bei dem sehr einfachen ReadLn Befehl sonst passieren? :lol:
In meinem Beispiel für TTimer hab ich ReadLn ja auch benutzt...
Delete - So 14.01.07 13:30
Rylon hat folgendes geschrieben: |
Zitat: |
Mir hat die Funktion noch nie einen String kaputt gemacht. Wäre man schön, wenn du ein konkretes Beispiel zeigen würdest.
|
Sorry, klingt jetzt nach einer faulen Ausrede, aber ich hab meinen kompletten Versuche mit der Console gelöscht -> Mangels Erfolg. Aber der Code war irgendwo aus dem Forum, wein wenig abgeädert |
Nope, das was du sagst klingt wie eine Aurede. Du wirst dich doch sicherlich noch an den Strig erinnrn können, der angeblich von dieser Funktion zerstört wurde.
Zitat: |
Aus dem Grund habe ich die D-Console als nutzlos abgestempelt, da die scheinbar immer der kompliziertere Weg ist. -> Außerdem, was ist das für eine Antwort? -> Wie ich nun schon bestimtm 3 mal gesagt habe dachte ich console sein all das, was mit der form auch da wäre nur ohne fenster(form). Is es halt nicht. Und da brauch ich dann nicht anfangen den benötigten kram irgendwie nachzubauen. |
Es gibt keine Delphi-Konsole. Die Konsole hat rein gar nichts mit der Entwicklungsumgebung zu tun. Die Konsole ist eine Windows Umgebung für Programme ohne GUI, die vom Windows Kommandointerpreter zur Verfügung gestellt wird. Delphi stellt nur mehr oder weniger Funktionen bereit, um Anwendungen für die Konsole schreiben zu können. Es kann durchaus sein, dass andere Sprachen in dieser Richtung schon mehr Unterstützung mitbringen, aber all das kann man auch mit Delphi nachrüsten. Ich kann auch mit einem Trabbi die Ralley Paris - dakar fahren, allerdings werde ich wohl etwas mehr umbauen müssen, als bei einem Jeep.
Zitat: |
Zitat: |
Nein habe ih noch nicht. Aber dass es einfacher ist eine Komponente auf ein Formular zu ziehen, als alles selber zu erstellen im Code, liegt wohl auf der Hand.
|
Ich finde nicht, das es auf der hand liegt. (Man gehe mal davon aus eine variable der entsprechenden klasse zu deffinieren sei gleichwertig mit "auf-die-form-schmweißen") |
Wenn für dich das nicht auf der Hand liegt, dann kannst du noch nicht allzuviel mit Delphi gemacht haben. Hast du je eine Komponente dynamsich erzeugt, wenn du die Komponente auf die Form gezogen hast? Wo hast du die Eigenschaften der Komponte festgelegt? Im Code zur Laufzeit oder zur Designzeit im ObjektInspektor? Auf was kannst du eine Komponente ziehen, wenn du keine Form hast, sondern eine Konsolenanwendung schreibst udn wo ist der Objektinspektor für eine Konsoleanwendung? Also liegt es wohl doch auf der Hand.
Zitat: |
Zitat: |
Ich schiebe hier keine große Nummer und ich bin nicht derjenige für den Delphi das Maß aller Dinge ist. Ich wähle meine Werkzeuge mit denen ich die mir gestellte Aufgabe am effizientesten lösen kann. Dazu gehört für mich auch C/C++, Java und PHP.
|
Schön und lobsam, das kann ich nich ;-) -> Aber warum dann der Aufstand? |
Nicht ihc mache hier den Aufstand, sondern du. Ich versuche nur mit Argumenten deine Meinung zu widerlegen. Während du nur mit holen Phrasen kommst und noch auf kein Argument von mir eingegangen bist:
- Wie sieht der String au, de angeblich durch besagte Funktion kaputt gemacht wurde?
- Was fehlt dir in der Konsolenanwendung, was du angeblich in einer GUI Anwendung hast?
Zitat: |
Zitat: |
Warum benutzt du es dann? Da du selber sagst, dass du nur ein Hobbyprogrammierer bist, gibt es wohl auch keinen Arbeitgeber, der dir irgendwelche Vorgaben macht. Also, warum nutzt du dann nicht das Werkzeug, die deiner Meinung nach besser für dich geeignet sind und eventeull noch kostenlos zu erhalten sind?
|
Ich habs probiert, aber ich kann mti c++ nicht besondern, wie schon gesagt. |
Dann guck dir mal Java oder C# an.
Zitat: |
Zitat: |
Wo habe ich bitte sehr geflammt?
|
-> siehe Hier
Zitat: |
Das einzige was crap ist, ist der Stuss den du hier erzählst. Entschuldigug für die harten Worte, aber das ist nun mal so. Bevor du hier so ein Mist erzählst, solltest du dich erstmal etwas damit auseinandersetzen.
|
|
Guck mal nach, wer das Wort
crap zu erst in die Diskussion eingebracht hat und wer Delphi als Müll bezeichnet hat, nur weil er wohl damit nicht klar kommt und anscheinend völlig flasche Vorstellungen hat, was Delphi, seiner Meinung nach, können müsste.
Zitat: |
Weil ich die Sprache toll finde!
|
OK, für Delphi gibt es nicht so viele verfügbare IDEs wie für C/C++, aber du könntest dir mal FreePascal angucken, da hast du dann auch die Portierbarkeit nach Linux.
Zitat: |
Zitat: |
Das ist und war auch nie Ziel von Borland. Borland stellt mit Delphi ein Tool zur Verfügung, dass dahingehend optimiert und entwickelt wurde, um schnellstmöglich Anwendungen für den Benutzermodus in Win32 (bevorzugt GUI) zu entwickeln.
|
"nie ziel von Borland" -> Kylix ist vom Himmel gefallen? |
Jepp, das trifft es ganz gut. Borland hat auf Drängen der Community Kylix entwicklet, aber recht schnell gesehen, dass es eine Fehlentscheidung war und das Projekt Kylix wieder eingestellt.
Zitat: |
Viele. Also nur als Beispiel: Frag dich mal wieviele Spiele in Delphi geschreiben wurden. Und wieviele Betriebsysteme in Pascal, Programme die auch auf Linux laufen sollen, timimg-relevante software.... |
Das mag sein, dass es nicht allzuviele "Delphi"-Spiele gibt. Aber wie viele Datenbankanwendungen gibt es in Java oder C? Was ich sagen will ist, wenn ich mir nur Bereiche raussuche, in dem die jeweilige Sprache ihre Stärken hat, dann brauche ich mich nicht zu wundern, wenn die Mehrzahl der Programme für diesen Bereich in dieser Sprache geschrieben sind. Und "timing-relevante" Software wirst du unter Windows gar nicht finden, da Windows kein Echtzeitbetriebsystem ist, sondern auf Nachrichten und Ereignisse beruht.
Zitat: |
Gut, nur wenn ich Programme schreibe, dann brauche ich mehr als die befehle readln und writeln.
|
Und wieder nur eine hole Phrase. Nenn doch endlich mal die Dinge beim Namen, dir dir für eine Konsolenanwendung angeblich fehlen. Die Konsole für Windows ist eben nur dafür ausgelegt Text auszugeben und einzugeben. Was soll dir da Delphi noch mehr bieten?
Christian S. - So 14.01.07 13:46
Hallo!
Könntet Ihr jetzt bitte wieder zum ursprünglichen Thema zurückkommen und vor allem sachlich bleiben? Danke!
Grüße
Christian
Rylon - So 14.01.07 20:13
So... es gab wieder viel zu lachen, zumindest hab ich es ;-)
Dann argumentieren ich mal weiter (Laut Luckie ist das in meinem Fall das Gleiche wie "mit holen Phrasen kommen" -> egal...)
Zitat: |
Naja, erzeugen muss man die Instanz schon
|
Das war mitgedacht -> sorry hab ich ncih extra hingeschrieben
Zitat: |
Dann versuch dich doch mit FreePascal. Da hast du auch die Delphi-Sprache, sogar portierbar. Nur eben keine so schöne IDE wie Delphi. Aber Delphi magst du ja eh nicht...
|
Also ich kenne Lazerus bzw den Compiler bereits von früher und muss sagen: NEIN. Bitte keine Diskussion darüber, da ist nix zu diskutieren(zumindest nicht mit mir), denn Lazerus ist wie Linux... Ein einfaches
Beispiel eines Linux-Benutzers:
Aufgabe: Öffne den Taskmanager (oder wie auch immer er dort heißt)
Wie funktionierst:
1.Konsole öffnen
2.Tippe Befehl a
3.Tippe Befehl b
3.Merke, dass die Rechte für Befehl b fehlen -> setze Rechte
4.Tippe Befehl a
5.Tippe Befehl b
6.Tippe Befehl c
7.wechsel das verzeichnis in einen (logisch nachvollziehbaren) Pfad, der ungefähr so aussieht \asdg\var\ext\qb4\cc78\a\
8.und führe das Programm hsd45ht aus.
-> Der Taskmanager ist nun offen. (Wenn du Glück hast)
Und so ungefähr ist FreePascal. (Und befor nun jemand kommt: Der Taskmanager in Linux geht aber anders auf -> Da bin ich mir sicher ;-)
Und um auch das gleich zu sagen: Jeder der sich das zumuten will ok, aber ich halte Linux für Server-Software und ist nicht für den Home-User bestimmt, auch wenn es mitlerweile ein "benutzerfreundliches" GUI gibt.
Und zur Delphi-IDE: Die ist toll, und da habe ich absolut nichts dagegen.
Zitat: |
Und zum Thema Flaming: bisher hast du immer nur gesagt, Delphi ist Müll. Dabei kam noch nicht ein Beweis, trotzdem bestehst du vehement auf deiner Meinung. Das erfüllt alle Kriterien für Flames.
|
Wie du meinst, aber das du und mehrere einer anderen Meinung seid, heißt ja nicht, dass ich, nur weil es die Mehrheit ist, meine Meinung ändern zu wollen.
Es stimmt, dass ich Delphi mit ein wenig unqualifizierten Worten beschreiben habe ;-)
Zitat: |
Es ist dasselbe, du musst nix nachbauen...
Es ist in einer Konsolenanwendung oft sinnvoll es nachzubauen, weil dann die ganzen Units, die eine VCL-Anwendung braucht, nicht benötigt werden. Z.B. wenn ich ein SFX-Modul baue, dann baue ich viel nach, und selbst das Formular habe ich nicht mit der VCL sondern mit Visual Studio gebaut und per Resource eingebunden. Einfach, weil dadurch mein Zip-Sfx-Modul gerade mal 31 KiB groß ist. Und das ließe sich noch weiter optimieren.
|
"Es ist dasselbe, du musst nix nachbauen..." vs. "Es ist in einer Konsolenanwendung oft sinnvoll es nachzubauen" -> Hab ich irgendwas nicht mitgekriegt?
Zitat: |
Aber zurück zur Übertragung von VCL-Komponenten auf non-VCL...
Du kannst durchaus auch die TTimer-Komponente in der Konsole benutzen. Hier der elegante Weg von Luckie:
http://www.michael-puff.de/...imer_in_Konsole.html
und hier ein einfacherer, dafür aber nicht so eleganter Weg:
...
...
...
Naja, es funktioniert. Das ist natürlich passiert. Was sollte schon bei dem sehr einfachen ReadLn Befehl sonst passieren? :lol:
In meinem Beispiel für TTimer hab ich ReadLn ja auch benutzt...
|
Mehr dazu weiter unten... -> wenn ich drann denk
Nun zu meinem besonderen Freund Luckie
Zitat: |
Nope, das was du sagst klingt wie eine Aurede. Du wirst dich doch sicherlich noch an den Strig erinnrn können, der angeblich von dieser Funktion zerstört wurde.
|
Warum ich nur wusste, das das kommt...
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38:
| program Project1;
{$APPTYPE CONSOLE}
uses SysUtils, windows;
procedure writetheshit(text:string); var temps2:string; begin
SetLength(temps2,Length(text)+1); CharToOEM(PChar(text),PChar(temps2));
Writeln(temps2);
end;
var terminated:Boolean; temps:string;
begin { TODO -oUser -cConsole Main : Insert code here }
terminated:=False;
writetheshit('hää? -> daß geht ja gär nischt ünd ist übrigens total falß! äöüäöüäöüäöööäüäöüäöäöüöüöäöüöäöüöäöüööüöäöüöäöüöäöüööüöäöüöäöüöäöüö');
writetheshit('hähähähähähähähähäähähähähähähähähähähähähähähähähähähähähähähähähähähähähäh');
while terminated=false do begin temps:=''; Readln(temps); writetheshit(temps); end;
end. |
Es sind ein paar Hä zu wenig nicht? -> Außerdem: warum springt er nicht in die nächste zeile "write line" -> oder heißt es etwas anneres?
Aber warscheinlich nutze ich die Funktion einfach nicht richtig...
[quote]
Es gibt keine Delphi-Konsole. Die Konsole hat rein gar nichts mit der Entwicklungsumgebung zu tun. Die Konsole ist eine Windows Umgebung für Programme ohne GUI, die vom Windows Kommandointerpreter zur Verfügung gestellt wird. Delphi stellt nur mehr oder weniger Funktionen bereit, um Anwendungen für die Konsole schreiben zu können. Es kann durchaus sein, dass andere Sprachen in dieser Richtung schon mehr Unterstützung mitbringen, aber all das kann man auch mit Delphi nachrüsten. Ich kann auch mit einem Trabbi die Ralley Paris - dakar fahren, allerdings werde ich wohl etwas mehr umbauen müssen, als bei einem Jeep.
[quote]
Also muss ich das doch nochmal verdeutlichen was ich meine:
Mir ist schon klar, das die Konsole sich nie piepend über den bildschirm bewegen wird und dabei die Hintergundfarbe zwischen blau und rot alle 2ns welchsen würde, zumindestens nicht ohne größeren aufwand. Was ich meine ist folgendes:
Nimm dir 10 Min Zeit...
Starte Delphi -> mach eine neue Form, werf einen serversockt drauf, mach auf das onconnect ereignis eine showmessage...
Connecte mit irgend einem Programm (z.B. Nettools oder ein eigenes). -> Was Passiert? -> Natürlich die showmessage geht auf.
Nun schließe den Kram, mache eine Konsolenanwendung, deklariere deine Variable vom typ TServerSocket,
initialisiere sie und verbinde mit dem onconnect-ereignis ein writeln('Irgendwas') (Über eine procedure). ganz am Ende vom COde noch ein readln, damit sich das Programm nicht schließt, ab geht... was passiert beim erneuten connecten?
Wenn dus hinbekommst, das er das writeln ausführt, dann biste weiter als ich und postest bitte den code. (Also ich meine ohne weiteren Code)... (Un mit weiteren Code, dann poste mir bitte acuh ;-)
Zitat: |
Wenn für dich das nicht auf der Hand liegt, dann kannst du noch nicht allzuviel mit Delphi gemacht haben. Hast du je eine Komponente dynamsich erzeugt, wenn du die Komponente auf die Form gezogen hast? Wo hast du die Eigenschaften der Komponte festgelegt? Im Code zur Laufzeit oder zur Designzeit im ObjektInspektor? Auf was kannst du eine Komponente ziehen, wenn du keine Form hast, sondern eine Konsolenanwendung schreibst udn wo ist der Objektinspektor für eine Konsoleanwendung? Also liegt es wohl doch auf der Hand.
|
Bitte sag mir nicht, das ich "wohl noch nicht allzuviel mit Delphi gemacht habe" -> Es ist mir durchaus bewusst, dass ich die Parameter über keinen schönen GUI zuweisen kann usw., aber darüber hinaus funktionierts trozdem nicht (wie oben hoffentlich erfolgreich demonstriert), das ist mein Problem. Und ob ich nun den Port meines Servers über den Object Inspektor eingebe, oder im code eingebe macht keinen großen unterschied.
Zitat: |
Dann guck dir mal Java oder C# an.
|
Mit Java hab ich mich nicht auseinander gesetzt, aber mir gefällt die Syntax, sprich vor allem die {} in c++ nicht -> unterschied zu c# ? -> Dort gibts die auch hinzu kommt noch die Tatsache, das man eine Runtime für den Kram brauch und ich den Eindruck habe, das es sehr langsam ist (beim ersten "auf-das-system-zuschneiden")
Zitat: |
Guck mal nach, wer das Wort crap zu erst in die Diskussion eingebracht hat und wer Delphi als Müll bezeichnet hat, nur weil er wohl damit nicht klar kommt und anscheinend völlig flasche Vorstellungen hat, was Delphi, seiner Meinung nach, können müsste.
|
Da hast du recht.
"und [du] anscheinend völlig flasche Vorstellungen ha[s]t, was Delphi, seiner Meinung nach, können müsste."
völlig falsche Vorstellungen von der eigenen Meinung, das ist schon enttäuschend -> hab ich den Satzbau nicht durchblikt -> ok dann liegt der Fehler bei mir.
Zitat: |
OK, für Delphi gibt es nicht so viele verfügbare IDEs wie für C/C++, aber du könntest dir mal FreePascal angucken, da hast du dann auch die Portierbarkeit nach Linux.
|
Kommentar oben...
Zitat: |
Jepp, das trifft es ganz gut. Borland hat auf Drängen der Community Kylix entwicklet, aber recht schnell gesehen, dass es eine Fehlentscheidung war und das Projekt Kylix wieder eingestellt.
|
Gut, das hab ich bis jetzt nicht gewusst, ich wusste nur, das es nciht gescheit auf meinem System funktioniert hat.
Zitat: |
Und wieder nur eine hole Phrase. Nenn doch endlich mal die Dinge beim Namen, dir dir für eine Konsolenanwendung angeblich fehlen. Die Konsole für Windows ist eben nur dafür ausgelegt Text auszugeben und einzugeben. Was soll dir da Delphi noch mehr bieten?
|
Ich habs oben versucht zu erklären...
Aber nochmal Respekt für deine Rethorik... Wenn ich leicht angetrunken wäre, könntest du mich bestimmt überzeugen, dass sich ein Skateboard nicht von einem Auto unterscheidet, oder das ein Kamm ein Fön ist.
Zitat: |
Könntet Ihr jetzt bitte wieder zum ursprünglichen Thema zurückkommen und vor allem sachlich bleiben? Danke!
|
Jetzt sei mal nicht so borniert, wir diskutieren hier völlig unsachlich über ein Thema
Greez Rylon
PS: @Luckie -> Bitte sei mir nicht persöhnlich böse, dass ich dei die ganze Zeit angreife.
Christian S. - So 14.01.07 20:27
Rylon hat folgendes geschrieben: |
Jetzt sei mal nicht so borniert, wir diskutieren hier völlig unsachlich über ein Thema |
Es ist schon dreist genug, meine Aufforderung zu ignorieren, aber sowas muss ich mir nicht anhören.
Wenn Du nicht fähig bist, Dich an die Richtlinien des Forums zu halten (übrigens auch in Bezug auf Deine Signatur, verweise auf Internetseiten sind dort verboten), muss ich hier wohl schließen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!