Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Komponente für SSH-Verbindung (https://www.delphipraxis.net/70989-komponente-fuer-ssh-verbindung.html)

daliuz 7. Jun 2006 17:17


Komponente für SSH-Verbindung
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

Nachdem ich lange nach einer freien ssh-Komponente gesucht habe und im Netz nichts aufzutreiben war, habe ich mir selber etwas geschrieben. Secure Black Box wäre auch eine Alternative, kostet allerdings auch etwas.
(Die Komponente wurde mit Delphi2005Prof geschrieben.)

Gleich mal vorneweg -> Sie basiert auf Plink (gehört zu Putty). Es ist also nur ein Interface zwischen Delphi und Plink. Plink läuft unsichtbar im Hintergrund.

Es werden Events für Ankommende Daten und mögliche Fehler ausgelöst.

Zum Anzeigen und zur Eingabe eignet sich bestens "emulvt.pas" aus den ICS.

Somit ist es möglich über ssh und delphi, einen Befehl oder Batch- files mit mehreren Befehlen auf dem Remote-rechner auszuführen.

Wer es nicht als Terminal nutzen will, kann die Esqape-sequenzen wahlweise rausfiltern.

So denn, würde mich über Kommentare freuen!

Daliuz

Vjay 8. Jun 2006 09:00

Re: Komponente für SSH-Verbindung
 
Hallo,

da ich an SSH auch sehr interesiert bin und leider das gleiche feststellen musste wie du, habe ich mir deine Komponente heruntergeladen.
Leider verstehe ich nicht ganz wie ich denn nun eine Verbindung aufbaue, es gibt zwar handler für diverse Events, aber keine connect-funktion o.ä.

daliuz 8. Jun 2006 13:08

Re: Komponente für SSH-Verbindung
 
Hallo,
Ich habe kein Beispiel mit rangehängt - Sorry.

Aber hier sind mal ein paar Codeschnipsel:

onDataAvailable: normaler Ausgabekanal von plink
onDataFehler: Fehlerausgabe von plink
onError: Fehlerausgabe der Komponente

Delphi-Quellcode:
Plinkremote1.ClearEsqSeq
: Löscht Terminal Esqape-sequenzen aus den Ausgaben


Für das Verbinden:

Delphi-Quellcode:
Plinkremote1.exe_parameters:='hostname -l usename -pw mypassword ';
Plinkremote1.exe_directory:='d:\Putty';
Plinkremote1.exe_name:='plink.exe';
Plinkremote1.execute;
Für das Abbrechen:

Delphi-Quellcode:
Plinkremote1.do_stop_process;
Für das Schreiben:
Delphi-Quellcode:
Plinkremote1.write_string(Mytext+#13);
Die Events:

Delphi-Quellcode:
procedure TForm1.Plinkremote1DataAvailable(Sender: TPlinkremote;
  const Buffer: string);
var memostring: string;
 begin
  EmulVT1.WriteStr(Buffer);
  memo1.Lines.text:=memo1.Lines.Text+buffer;
 end;

procedure TForm1.Plinkremote1Error(Sender: TPlinkremote; const Error: string);
begin
 ShowMessage(Error);
end;

procedure TForm1.Plinkremote1DataFehler(Sender: TPlinkremote;
  const Buffer: string);
begin
 EmulVT1.WriteStr(Buffer);
 memo1.Lines.text:=memo1.Lines.Text+buffer;
end;

procedure TForm1.Plinkremote1Plinkclose(Sender: TPlinkremote);
begin
 ShowMessage('Programm '+Plinkremote1.exe_name + ' geschlossen!');
end;

Ich hoffe das hilft dir weiter!

CU
Daliuz

mkinzler 8. Jun 2006 13:11

Re: Komponente für SSH-Verbindung
 
Die Komponente steuert Putty? Dann muß sich putty.exe aber auch in dem vorgegeben Pfad befinden.

daliuz 8. Jun 2006 13:18

Re: Komponente für SSH-Verbindung
 
Hi,

Ich habe gerade noch was editiert.

also

Delphi-Quellcode:
Plinkremote1.exe_name:='plink.exe';
muß natürlich mit angegeben werden!

wenn kein Pfad angegeben ist, wird der aktuelle Pfad genommen. d.h. der Pfad in dem sich dein Prog befindet.

daliuz

Vjay 8. Jun 2006 14:46

Re: Komponente für SSH-Verbindung
 
Okay, ich glaube ich habe das noch nicht richtig verstanden.

Benutzt diese Anbindung Putty "nur" dafür Text in ssh-text und vice versa zu konvertieren? Oder ist sie auch für den kompletten Connectionaufbau und Datentransfer verantwortlich?

Ich stelle mir die Frage, wenn sie nur zum konviertieren da ist, wieso du Eventhandler drin hast und nicht zwei einfache Funktionen a sshstring:= convertSSH( text); exportierst.

Andersrum stelle ich mir die Frage wenn sie für den gesamten Datenaustausch verantwortlich ist, wie connected man wohin? Manuell mit Putty?

daliuz 8. Jun 2006 15:20

Re: Komponente für SSH-Verbindung
 
Hallo,

Den Verbindungsaufbau und die gesamte Komunikation übernimmt plink.exe. Deswegen gibt es auch kein Kommando "connect". Es werden die Parameter mit dem Hostname übergeben. Dann wird plink unsichtbar im Hintergrund gestartet.
Der Aufruf würde im Hintergrund ungefähr so aussehen:

pfad\plink myhost -l username -pw password

Die Komponente leitet alle Ein und Ausgaben auf pipes um, die dann gelesen oder beschrieben werden.

Ich habe ein Testprogramm mit der "EMULVT.PAS" von François PIETTE, das ist dann eigentlich ein vollwertiger ssh-client.

Daliuz

Ps: Ich bereite das Testprog etwas auf und stelle es heute abend hier rein.

dfried 8. Jun 2006 15:57

Re: Komponente für SSH-Verbindung
 
Hab die Komponente grad mal kurz ausprobiert.
Das Programm connected sich zwar korrekt (der Prompt der UNIX-Maschine erscheint im meinem Log-Memo) aber dann verursacht das Programm 100% Last und kommt nicht mehr zurück. Der "write_string('ls -l'+#13);" Befehl nach dem Execute wird nicht mehr ausgeführt. Woran kann das liegen?

daliuz 8. Jun 2006 16:35

Re: Komponente für SSH-Verbindung
 
Hallo,

kann ich momentan leider nichts sagen. ich habe es gerade noch mal ausprobiert, ( auch auf uralten SORIX-Maschinen) aber es funzt. Vielleicht mal die Esq-sequenzen nicht löschen. Möglicherweise hängt er dort in einer schleife.

Verbinde auch das onDataFehler-event mit der Ausgabe im Memofeld. Vielleicht kommt da was von plink und wartet auf ne Eingabe.

Daliuz

daliuz 8. Jun 2006 17:13

Re: Komponente für SSH-Verbindung
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,

Ich habe mal das Testprog hochgeladen. Es ist die exe und der Source.

Ich habe gerade noch einen Fehler in der Komponente gefunden. Bitte die
Datei "Plinkremote.pas" austauschen. Diese befindet sich mit im Testprogramm.zip

Für die, die es ausprobieren möchten, hänge ich noch EmulVT mit ran.

Für die Verbindung bitte Hostname,User und Passwort angeben.
Ich fange keine Fehler im Programm ab! (Is ja auch nur ein Test)

Für eine Eingabe einfach in das Terminalfenster clicken und eingeben.

In der Exe wird plink im selben Verzeichnis wie das Prog gesucht.

CU
Daliuz

dfried 9. Jun 2006 07:30

Re: Komponente für SSH-Verbindung
 
Hallo daliuz,

dei Testprogramm funktioniert hier, aber hast du mal den Taskmanager offen gehabt während du das Programm laufen hattest? Das Programm verursacht ständig 100% last, auch wenn keine Ein-/Ausgaben gemacht werden.

daliuz 9. Jun 2006 13:06

Re: Komponente für SSH-Verbindung
 
Hi,

Hast recht, ich frag in einer Schleife die Pipes ab. Is wirklich ne schlechte Idee!
Ich versuch die Abfrage mal als Thread umzubauen. Zwar noch nie versucht, wird deswegen
bestimmt etwas dauern. Damit kümmert sich windows um die Ressourcen.

Vielleicht hat jemand eine andere bessere Idee?

CU
Daliuz

bigdoggy 16. Jun 2006 12:38

Re: Komponente für SSH-Verbindung
 
Hi,

aber vorab erstmal vielen dank für die Arbeit der Komponente
und das Veröffentlichen.
Genau so ein Tool brauche ich um kurz ein paar Kommandos auf einem
Gerät abzusetzen. Werde also das Testprogramm um ein
Batch-Aufruf-Parameter erweitern, sodass es dann mit
einem Script die Befehle abarbeitet....

Zum CPU Problem:

habe einfach in plinkremote.pas in Zeile 204/205
nach dem Application.ProcessMessages ein
sleep(1) eingebaut.

Läuft einwandfrei unter XP mit Delphi 7 erzeugt.


Gruß Sven

daliuz 23. Jun 2006 07:18

Re: Komponente für SSH-Verbindung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

@bigdoggy

Ich freue mich über dein Interesse und deine Mitarbeit!
Wenn du es fertig hast kannst du es ja hier mit veröffentlichen.

1.Plink hat schon so einen Batch aufruf

(auszug aus der Hilfe)
Parameter:
-m file read remote command(s) from file

Aber hast recht, man kann das noch ordentlich einbauen.


2. zu sleep(1)
Wenn du die Zeile
Delphi-Quellcode:
while WaitForSingleObject(pi.hProcess, 0) <> Wait_Object_0 do
durch
Delphi-Quellcode:
while WaitForSingleObject(pi.hProcess, 1) <> Wait_Object_0 do
ersetzt, hast du den selben Effekt.(anstatt der 1ms kannst du auch noch höher gehen)
Das heißt aber das der Rest von dem Programm nur alle millisekunde aufgerufen wird.
Ich habe das mal mit Threads umgebaut, und es geht auch soweit. Du kannst es ja mal mit
testen. Ich bin momentan auf einem Serviceeinsatz und habe leider keine Zeit.
Ich hänge das File mal an.

Es hat sich eine Kleinigkeit in den Aufrufen geändert.

Delphi-Quellcode:
do_stop_process
heißt jetzt
Delphi-Quellcode:
disconnect
Ich habe auch noch sowas für sftp und scp geschrieben. Wenn Interesse besteht
stelle ich das am Wochenende mit hierein.

CU
Daliuz

mwegner 26. Jun 2006 17:01

Re: Komponente für SSH-Verbindung
 
Hi,

sensationell genau so etwas suche ich schon seit ewigen Zeiten. Ich habe die Komponente bereits
im Einsatz und bereits vergebens versucht das von Dir bereitgestellte Testprogramm
um die Beiden Features "Scroll Back / Copy and Paste" zu erweitern.

Auf der Web Seite http://www.overbyte.be habe ich zwar einen EmulVT Sample Code mit den gewünschten Funktionen
gefunden, leider war der Code jedoch nicht compelierbar und somit für mich mit meinem eingeschränkten Delphi Know How
unbrauchbar.


Hast Du vieleicht einen Tip wie man Scrollback, Copy and Paste auf einfache Art und Weise nachträglich implementieren kann um
so einen wirklich vollwertigen ssh-client like "Putty" zu erhalten?



Gruss

Micha

daliuz 27. Jun 2006 05:09

Re: Komponente für SSH-Verbindung
 
Hallo,

Ich nehme mal an du meinst "emulvtscroll.zip" von der ICS-seite.
Leider habe ich das auf die Schnelle auch nicht zum Laufen gebracht.
Es ist aber auch eine ziemlich alte Version 2.3. Die aktuelle Version
ist bei 2.15.

Meine Zeit ist leider momentan ziemlich dünn gesäht. Vielleicht kann
dir da jemand im Forum ein bißchen unter die Arme greifen.

Tut mir echt leid. Trotzdem danke fürs Interesse!

Daliuz

baurat 21. Jan 2007 15:23

Re: Komponente für SSH-Verbindung
 
Hallo zusammen,

hab genau nach so etwas gesucht - vielen Dank, daliuz!

Eine kleine Ergänzung: die Stringfunktion PosEx gibts erst ab Delphi7, deswegen muss man die nachbauen:


function TPlinkremote.PosEx(const Substr: string; const S: string; Offset: Integer): Integer;
begin
if Offset <= 0 then Result := 0
else
Result := Pos(Substr, Copy(S, Offset, Length(S)));

if Result <> 0 then
Result := Result + Offset - 1;
end;

Damit bringt man's auch in D6 zum Laufen.

Was ich noch nicht gecheckt hab (geht das überhaupt): wie kann man sich anstelle mit Passwort auch mit nem Private Key authentifizieren? Das müsste ja so in der Art aussehen:
Plinkremote1.exe_parameters :=' -ssh -i meinPrivaterKey.ppk -l hssp remoteserver.de';

Klappt leider nicht. Ist aber nicht so wild, kann das über User/PW machen.

Also - vielen Dank!

daliuz 22. Jan 2007 13:23

Re: Komponente für SSH-Verbindung
 
Hallo Baurat,

Da ich kein Delphi6 benutze ist mir das gar nicht aufgefallen...Danke für den Tip!

Ich glaube nicht das man sich mit einem Schlüssel auf dem Server autentifizeren kann. Diese wird meines Wissens nur für die Verschlüsslung und zur Identifikation des Servers als rechtmäßiger Partner genutzt. Ist die SSH-Kommunikation aufgebaut, wird das Login und das PW abgefragt. Dies ist deine Identifikation auf dem Server mit den dazugehörigen Rechten auf den Console.

Na denn, viel Spaß noch

Daliuz

delphis spassbremse 5. Jun 2007 16:51

Re: Komponente für SSH-Verbindung
 
Hallo, noch eine kleine frage...

Was mache ich wenn ich einen IPCop ansteuern will, wo der SSH Port auf 222 und nicht auf 22 liegt?

Hab zwar schon geguckt, wo man den Port ändern kann, aber nix gefunden...
Ich denke, dass ich einen Parameter anhängen muss, aber ich wüsste jetzt leider nicht welchen.

Hat da jemand einen Rat?
MFG

hoika 5. Jun 2007 17:27

Re: Komponente für SSH-Verbindung
 
Hallo,

beim "normalen" ssh ist das

-D 222


Heiko

deep_thought 9. Nov 2007 15:50

Re: Komponente für SSH-Verbindung
 
Hallo!

Super tool, geht einwandfrei - und dazu noch genau das, was ich gesucht habe :D
nur eine kleinigkeit: wie kann man sondertasten wie Pfeiltasten oder Funktionstasten übermitteln - nehm ich da (wie unter Turbopascal) immer sowas wie #0#80 (war sowas wie "Bild hoch" oder so) oder geht das gar nicht?

mfg deep_thought

Framige 2. Jan 2008 20:21

Re: Komponente für SSH-Verbindung
 
Zitat:

Zitat von daliuz
Ich habe auch noch sowas für sftp und scp geschrieben. Wenn Interesse besteht
stelle ich das am Wochenende mit hierein.
CU
Daliuz

Ist zwar schon eine Weile her: aber die Unterstützung für SCP würde mich brennend
interessieren da ich einen automatischen Dateitransfer via SCP ausführen möchte.
Framige

superD 2. Apr 2008 07:29

Re: Komponente für SSH-Verbindung
 
Hy!

Also erstmal: Super Sache!
Finde ich echt gut, was du hier zusammengebastelt hast.

Aber leider habe ich ein Problem. Wenn ich mit Delphi 7 dein Beispielprojekt öffnen will, kommt immer:
Zitat:

Class TEmulVT not found. Fehler ignorieren und fortfahren? ...
und dann das selbe nochmal mit TPlinkremote.

Wenn ich dann ignoríeren sage und das Projekt dann kompilieren will, sagt er mir, dass EmulVT1 bzw. Plinkremote1 keine entsprechende Komponente besitzen.

Nun meine Frage, was mache ich falsch bzw. wie erzeuge ich eine Komponente EmulVT1 bzw. Plinkremote1?

Hoffe ihr könnt mir helfen.

Danke im Voraus.

dfried 2. Apr 2008 07:45

Re: Komponente für SSH-Verbindung
 
Zitat:

Zitat von superD
Class TEmulVT not found. Fehler ignorieren und fortfahren? ...

Die Klasse TEMulVT ist aus den ICS Komponenten von hier.

Steht aber auch in dem Beitrag #7 dieses Threads.

superD 2. Apr 2008 08:50

Re: Komponente für SSH-Verbindung
 
Danke erstmal!

Kann mir jetzt bitte noch jemand sagen, welche Dateien ich da wie verwenden muss. :roll:

Das sind so viele Ordner und Dateien, das ich da auch mit der readme nicht durchsteige.

Bitte helft mir.

dfried 2. Apr 2008 08:57

Re: Komponente für SSH-Verbindung
 
Zitat:

Zitat von superD
Bitte helft mir.

In diesem Eintrag des Threads hat daliuz doch extra ein "Mini-Package" zusätzlich zum Testprogramm mit angehängt, das nur die eine Unit EmulVT.Pas enthält die für das Testprogramm benötigt wird. Einfach dieses Package in Delphi installieren und dann nochmal das Testprogramm öffnen, dann brauchst du nicht die komplette ICS Komponentenbibliothek zu installieren.

rambothekid 16. Jul 2008 16:28

Re: Komponente für SSH-Verbindung
 
Zitat:

Zitat von daliuz

Ich habe auch noch sowas für sftp und scp geschrieben. Wenn Interesse besteht
stelle ich das am Wochenende mit hierein.

CU
Daliuz

Mich würde das teil brennent Interessieren

seim 18. Feb 2009 17:39

Re: Komponente für SSH-Verbindung
 
Gute Arbeit!

Find' ich echt Klasse :thumb: :thumb:

xZise 7. Mär 2009 15:15

Re: Komponente für SSH-Verbindung
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

ich habe die Version etwas erweitert. So wird jetzt ein Thread verwendet. Leider friert es beim Freigeben des Objektes zu sehr hoher Wahrscheinlichkeit ein. Ich weiß leider nicht warum, aber ich stelle dennoch die Version hier online.

Ganz nebenbei habe ich das etwas (meiner Meinung nach schöner) umgeschrieben. Ich weiß jedem das seine, aber ich kam einfach nicht mit den sehr ... eigenwilligen ... Einrückungen nicht klar :)

MfG
xZise

xZise 8. Mär 2009 17:39

Re: Komponente für SSH-Verbindung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Um es besser zu sehen, habe ich hier jetzt eine Demoanwendung programmiert.
Die beiden Versionen unterstützen übrigens Delphi 2009 (wenn auch nicht perfekt).

MfG
xZise

xZise 12. Mär 2009 22:44

Re: Komponente für SSH-Verbindung
 
Hat keiner eine Idee, warum der Thread sich nachher blockiert?

MfG
xZise

omata 13. Mär 2009 01:43

Re: Komponente für SSH-Verbindung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Der Quellcode enthielt mehrere Problemstellen, der schlimmste Fehler war in PLinkremote.pas und dort in ReadPipe. Dort wurde nämlich nicht an allen Stellen die übergebene Pipe benutzt, sondern immer die globale Output-Pipe.

xZise 13. Mär 2009 14:30

Re: Komponente für SSH-Verbindung
 
Zitat:

Zitat von omata
Der Quellcode enthielt mehrere Problemstellen, der schlimmste Fehler war in PLinkremote.pas und dort in ReadPipe. Dort wurde nämlich nicht an allen Stellen die übergebene Pipe benutzt, sondern immer die globale Output-Pipe.

Ookay, dass ist ungünstig :roll: Weil gerade ReadPipe sollte das verhindern. Was sind den weitere Probleme gewesen?

MfG
xZise

omata 13. Mär 2009 23:52

Re: Komponente für SSH-Verbindung
 
Zitat:

Zitat von xZise
...gerade ReadPipe sollte das verhindern.

Naja, aber nicht wenn die zu lesende Bytemenge aus einer Pipe kommt und dann aus einer anderen diese Anzahl gelesen wird. Dann steht das System, weil eben erst so viel Bytes wie angegeben gelesen werden, bevor ReadPipe wieder zurückkehrt.

Zitat:

Zitat von xZise
Was sind den weitere Probleme gewesen?

Verschiedenes, habe alles korrigiert. Für genau Informationen empfehle ich KDiff, dann werden die Änderungen sichtbar.

xZise 14. Mär 2009 09:33

Re: Komponente für SSH-Verbindung
 
Genau, dass hatte ich mir auch gedacht. Ich werde mal gucken in wie fern ich das noch weiter auslagern kann.

MfG
xZise

omata 14. Mär 2009 16:20

Re: Komponente für SSH-Verbindung
 
Was hast du dir gedacht? Das eigentliche Problem sollte jetzt behoben sein. Mich würde eher mal interessieren, ob der besagte Fehler noch auftritt oder nicht. Darüber läßt du leider keine Informationen durchsickern, schade.

seim 15. Apr 2009 19:45

Re: Komponente für SSH-Verbindung
 
Im folgenden rede ich über ein paar Begriffe die ich zwar nicht ganz verstehe, aber zumind. weis was damit gemeint ist bzw. wie diese Wirken auch wenn ich sie nicht selbst programmieren kann ^.^


Also ist es möglich, dass in einem anderen Thread (<> Hauptthread) der Buffer, der auch im Event "Data available" verwendet wird die ganze Zeit an einen globalen String hinten angehängt wird?
Das wäre nämlich notwendig um die Antwort des Severs in seinem Programm verwenden zu können etwa so:

Delphi-Quellcode:
..
PLink.write_str('ls -l');

Sleep(200); //An dieser Stelle "friert" der Hauptthread ein und deshalb funktioniert das Event auch nicht, dass in diesem Fall die Variable "Answer" füllen würde

//.. Verarbeite Antwort

seim 15. Apr 2009 22:47

Re: Komponente für SSH-Verbindung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hat da jmd schon ne Lösung zu? Also die Antwort vom Server zu bearbeiten?


In diesem Projekt gibts eine

Delphi-Quellcode:
procedure sshExecCommand(const Command : string);
Dessen Antwort wird gut aufgenommen und in einer MemoBox ausgegeben. Allerdings ist die procedure zum Zeitpunkt der Antwort bereits zu ende und kann deshalb nicht verarbeitet werden.. Das Ziel ist es die Antwort zurückzugeben:

Delphi-Quellcode:
function sshExecCommand(const Command : string): TStringList;
Jmd Vorschläge?


Wer's testen will müsste das neu compilen um die IP, Port, User und PW anzupassen (bitte nur in einer Testumgebung also auf keinen Fall mit root an nem 100Mbit Server einloggen :lol: )

WeissenbornC 20. Jul 2009 11:14

Re: Komponente für SSH-Verbindung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

vielen Dank für die Komponente und die Verbesserungen von omata. Leider erhalte ich eine Speicher-Warnmeldung beim Beenden der Demo von Omata (s.A.)

Außerdem kann ich die neue Version der plinkremote nicht als Komponente in die Palette bekommen - Versuche ich, die neue Version der .pas über die alte zu schreiben und dann mit der .dkp zu kompilieren wird die Komponente aus der Palette entfernt. :(

Ich verwende Delphi 6 Prof. (Die PosEx habe ich bereits hinzugefügt, an der liegt es nicht ;))

Vielen Dank im voraus.

@seim: Falls das noch aktuell sein sollte, ich würde in einer schleife auf Antwort warten, etwa

Delphi-Quellcode:
repeat
 sleep(10);
 Application.ProcessMessages;
until gotReply OR Application.Terminated;
Bei mir habe ich das warten vorerst über einen Timer gelöst.

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

omata 20. Jul 2009 11:56

Re: Komponente für SSH-Verbindung
 
Ich weiss nicht was du da gemacht hast, aber in der Demo gibt es die Komponenten TObjectList, TWinHelpViewer und THelpManager gar nicht, dementsprechend weiss ich nicht wie diese Fehler in der Demo zu finden sein sollen.

Sorry, da kann ich nicht helfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz