Sascha999999999 hat folgendes geschrieben: |
"Von Console auf VCL?"
Von einer Konsolenanwendung auf die VCL Komponenten zugreifen, was ist daran komisch? |
Na siehst du, das ist doch ein viel besserer Titel... "Von einer Konsolenanwendung auf VCL Komponenten zugreifen"...
Wenn dir ein Teammitglied sagt, dass dein Titel nicht gut ist, dann kannst du das ruhig glauben.
Ich habe auch gedacht, du willst eine Konsolen- in eine VCL-Anwendung umwandeln oder die Ausgabe einer Konsolenanwendung in deine VCL-Anwednung bekommen...
Ich finde es aber auch nicht gerade gut, dass die ganze bisherige Diskussion um den unpassenden Titel ging...
Genauso wenig finde ich die Tatsache gut, dass du den Titel immer noch nicht angepasst hast, denn erstens solltest du dich nach den Forumsrichtlinien richten, und dein Titel passt eben nicht, und zweitens solltest du auf Hinweise vom Team auch reagieren...
Aber vor allem: Diejenigen, die deinen Titel so lesen, denken, dass es sich um was ganz anderes handelt, und wenn sie dann reinsehen, dann wissen sie dazu vielleicht nix zu sagen, und die, die es könnten, sehen sich deine Frage gar nicht an, weil sie denken: Davon habe ich keine Ahnung...
Insofern: Was wunderst du dich, dass du keine Antwort bekommst???
(Nicht, dass ich denke, die bisherigen Poster hier hätten die Frage nicht beantworten können...

)
Naja, jedenfalls zum Thema. Hier ein kleines Beispiel...
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:
| program Project57;
{$APPTYPE CONSOLE}
uses SysUtils, IdHTTP, IdComponent;
type TMyIndyEventObject = class procedure IndyOnStatus(ASender: TObject; const AStatus: TIdStatus; const AStatusText: string); end;
procedure TMyIndyEventObject.IndyOnStatus(ASender: TObject; const AStatus: TIdStatus; const AStatusText: string); begin Writeln(AStatusText); end;
var Test: TIdHTTP; EventObject: TMyIndyEventObject; begin EventObject := TMyIndyEventObject.Create; Test := TIdHTTP.Create; Test.OnStatus := EventObject.IndyOnStatus; Test.Get('http://www.sj-berlin.de'); Test.Free; EventObject.Free; end. |
Der Grund, weshalb du ein eigenes Objekt erstellen musst, ist, dass die Events alle eine procedure
of object sind. Man kann da zwar auch was drehen, damit man auch normale Methoden benutzen kann, aber so ists am einfachsten und vor allem am wenigsten fehleranfällig...