Beiträge von stephan007

    hallo!

    ich habe einen serverdienst bzw. ein webprogramm entwickelt. das will ich nun über den iis verfügbar machen. mein problem dabei ist jetzt nur, dass ich beim aufruf was ganz anderes bekomme, der standardport scheinbar schon von was anderem in verwendung ist.

    wie stell ich das nun um, dass ich mein programm z.b. unter dem port 666 erreichen kann?

    also z.b. mit http://localhost:666/myservice drauf zugreifen kann (ohne port gehts ja nicht).

    danke.

    lg,
    stephan.

    hallo!

    ich bin auf der suche nach einer speziellen teemarke, welchen ich als geschenk für jemanden brauchen würde. dabei handelt es sich um den "pg tips tea - Pyramid® tea bags" (http://www.pgtips.co.uk/teas/ erster eintrag in der liste).

    den tee bekommt man in england problemlos im geschäft. weiss aber wer von euch, wo man den in wien bekommen könnte? habe da bisher schon ein paar tipps bekommen (konnte denen aber noch nicht nachgehen) wie naschmarkt oder meinl am graben.

    weiss aber wer von euch ein geschäft, wo man den sicher bekommen kann? denn ich hab nicht einmal eine idee, wo genau ich danach suchen könnte bzw. sollte. soll aber genau dieser sein ...

    danke!

    lg,
    stephan.

    hallo!

    wir haben leider ein problem mit einem im sommer vom hofer gekauften medion pc. das problem lässt sich wie folgt beschreiben:

    wenn man den rechner vom stromnetz nimmt und dann irgendwann wieder ansteckt und einschaltet, fährt windows zwar hoch, aber die maus und tastatur reagieren dabei nicht. dreht man den pc dann nochmals ab und schaltet ihn wieder ein, fährt er wie zuvor hoch, nun geht die maus und tastatur aber problemlos.
    dreht man nun den pc ab und lässt ihn stehen und startet ihn später wieder mal (ohne ihn vom stromnetz zu nehmen!), dann startet der pc anstandslos. schaltet man aber z.b. die schutzleiste aus, weil man nicht zu hause ist, dann passiert beim wiedereinschalten der leiste bzw. des pcs obiges problem.

    also kann man das problem darauf eingrenzen dass, sobald die stromversorgung einmal unterbrochen ist, der pc beim ersten mal die maus und tastaur nicht erkennt, danach (solange die stromversorgung immer da war) aber schon. die tastatur und maus sind beide am ps2 port angesteckt und funktionieren nach dem zweiten start (nach stromunterbrechung) bzw. schon beim ersten start (wenn der rechner die ganze zeit am netz hing) problemlos. also ein fehler in der tastatur und/oder maus ist eigentlich auszuschließen.

    hat jemand von euch eine idee, was das genau sein könnte?

    habe nämlich schon tipps bekommen bzw. mir selbst was überlegt von "bios flashen" bis hin zu "stecker hat einen wackelkontakt". letzteres glaube ich aber nicht, da ja das immer nur einmal passiert und dann nie wieder. bei einem wackler müßte das ja rein zufällig passieren, machts aber nicht.
    da der rechner aber noch in der garantie ist, überlegen wir uns diesen eventuell auch wieder retour zu geben, bevor das eine bastelarbeit und rumärgerei wird. wenns natürlich eine kleinigkeit oder z.b. ein einmaliger handgriff ist, dann wärs natürlich toll, wenn man den rechner weiterverwenden könnte.

    danke für jeden tipp!

    stephan.

    func_a usw. hat schon mit der form was zu tun. denn die arbeiten damit.
    was ich gemeint habe mit "ich brauche die form nicht mehr" ist, dass ich nicht mehr eine form mit 4 buttons darstelle, die ich anklicke um eine der funktionen auszulösen.
    die form für die funktionen brauch ich schon. die gehören zu der form dazu und sind auch in der klasse definiert.

    äh moment, ich rufe nicht direkt aus der exe eine funktion auf, das ganze (inkl wrapper) ist die exe. der wrapper ist eigentlich nur eine weitere unit. also wird dann teil des projektes. nur beim start der exe wird die funktion dieser unit ausgeführt.

    bei einer dll ist ja die wrapper unit auch teil der dll und bietet eine api an funktionen.

    der wesentliche unterschied zu hier ist ja dann nur, dass ich keine dll sondern eine exe habe (also das direkt starten kann, ohne es wo einzubinden) und dass ich nur eine funktion habe und die gleich direkt starte (und nicht von außen in dem sinn zugänglich mache).
    die funktion hier ist in dem sinne "nach außen hin zugänglich" als dass sie beim aufruf der exe ausgeführt wird. also ist die wrapper unit eigentlich nichts anderes als eine sammlung von funktionen und aktionen.

    also sowas wie

    Code
    unit wrapper;
    uses .... my_funcs ....;
    .....
    procedure StartFunk;
    begin
      TMainForm.funca;
    end;

    und

    Code
    unit my_func;
    .....
    function TMainForm.funca;
    begin
      ... do something ....
    end;
    ....

    nur wird das aus mir unerfindlichen gründen vielfach als wrapper unit bezeichnet. obwohl eigentlich jede unit, welche eine selbstgeschriebene unit aufruft, dann auch eine wrapper wäre. aber scheinbar bezeichnet man jene, welche die front darstellt (api usw. enthält) als wrapper und die anderen nicht, obwohl der aufbau im wesentlichen der gleich ist, was ich nach einiger suche im netz mitlerweile draufgekommen bin.

    also das soll so aussehen:

    starte_a.exe => wrapperunit für funktion a => function_a
    starte_b.exe => wrapperunit für funktion b => funktion_b
    usw.

    also ich erzeuge 4 exe. ich habe damit 4 wrapper units (also je eine) und jede exe startet mir eine der funktionen (welche ist über die wrapper unit fix codiert).

    also die funktion jeder wrapper unit ist:
    bereite alles für die funktion vor (ich würde mal sagen form erzeugen usw.) und dann starte die funktion.

    stell dir also vor, du hast in einer eigenen unit eine sammlung an funktionen und willst nun eine weitere unit schreiben, die dir genau eine aus dieser klassensammlung aufruft. und genau das mach ich hier.

    nur bin ich mir nicht ganz im klaren:
    1) muss ich die formhandler (form create, form show usw.) in die neue unit rüberschieben oder bleibt das drüben
    2) wenn 1 nicht notwendig, besteht die wrapper dann nur aus 1 funktion, die die andere startet?

    ich stell mir irgendwie eine wrapper unit vor wie jede andere unit, die eine sammlung von units über uses einbindet. aber die wrapper ist halt scheinbar die, die den hauptaufruf macht und die beim start alle kommandos und vorbereitungen abarbeitet.

    in meinem fall würden das 4 exe werden, also für jede funktion eine. momentan will ichs mal für eine machen, das andere ist nur einen anderen funktionsaufruf reincodieren.
    in gewisserweise mache ich ja das gleiche wie eine wrapper unit einer dll. da habe ich auch in der dll selbst eine funktionssammlung und bilde eine api, mit der ich von außen auf die funktionen zugreifen kann. bei der dll muss ich die einbinden, hier brauch ich dann nur die exe starten und ich brauch nicht n funktionen "nach außen" sondern nur eine einzige.

    wrapper unit ist eine unit bzw. sammlung von funktionen, die andere aufrufen oder eine api abbilden, also funktionen, auf die du von außen zugreifen kannst.

    auf gut deutsch, das innenleben ist eine blackbox und die wrapper ist der teil, den du siehst. und beim start soll nun aus der blackbox jetzt genau eine fixe funktion aufgerufen werden.

    beispiel: du hast eine sammlung an ethernet und internet tools wie ping, tracerout usw.
    und nun willst du eine funktion schreiben, die genau eine funktion aufruft, wenn du die exe startest. d.h. du läßt die sammlung an funktionen wie sie ist, programmierst nur eine weitere unit dazu, die dir eine dieser funktionen beim aufruf der exe fix startet.

    nur frag ich mich irgendwie, wie ich delphi begreiflich machen kann, dass es genau die funktion dieser neuen unit aufrufen soll, damit dadurch die funktion gestartet wird.

    also in der unit soll nur soviel drinnenstehen, dass eine funktion aus einer sammlung von funktionen gestartet wird.

    die frage ist also, was muss alles in dieser unit drinnen stehen, damit genau nur dieser aufruf passiert. also dass diese unit beim start genau die funktion rauspickt, die ich haben will. dass das mit deinem aufruf der funktion geht, aber ich muss eine procedure schreiben a la

    procedure StarteFunktion;
    begin
    Funktion_A;
    end;

    aber wie muss diese unit aussehen (ohne Form ohne sonstwas), dass ich dabei genau den Aufruf dieser Funktion auslöse. Besonders auch noch, dass die Form für die Funktion A auch miterstellt wird.

    Ist es jetzt etwas klarer, was ich herauszufinden versuche. Eben wie schaut die unit aus und was muss da alles drinnen stehen, damit die gewünschte Funktion A der Funktionssammlung gestartet wird.

    auf gut deutsch, ich will mit der wrapper unit eine der 4 funktionen rausfischen und starten lassen, sobald die exe gestartet wird.
    also so als ob das ganze programm nur aus dieser einen funktion besteht.

    mit parametern hab ich mir auch schon mal überlegt, nur wollte ich mal das ganze mit einer wrapper unit machen, weil ichs eben unter delphi noch nie gemacht habe und auf dem weg lernen wollte. nur ists scheinbar leider doch nicht so einfach wie ich mir dachte, also nicht nur funktion aufrufen und das wars.

    würde wie gesagt gerne lernen bzw. ausprobieren, wie das über eine wrapper unit geht, die mir "die gewünschte(n) funktion(en)" nach aussen führt bzw. sie mir startet (in meinem fall).

    also ein klick auf die exe soll nichts anderes machen, als dass die funktion, die mit der wrapper unit zugänglich gemacht wurde, startet. sonst allerdings nichts, auch wenn die funktionen in der unit deutlich mehr könnten.

    hallo!
    hab ein projekt, das in einer unit vier funktionen enthält. die liegen in der klasse der MainForm heißen also
    function TMainForm.func_a;
    function TMainForm.func_b;
    function TMainForm.func_c;
    function TMainForm.func_d;

    nun will ich eine wrapper unit schreiben, durch welche ich im startmenü von windows 4 einträge machen kann, welche je eine exe aufrufen, die wiederum die jeweilige funktion startet. bisher hatte ich ein formular mit 4 buttons und habe die per click event gestartet (um zu schauen, obs funktioniert).

    d.h. ich brauche gewissermassen 4 wrapper units (für jede funktion eine eigene). allerdings habe ich das leider noch nie gemacht, daher tu ich mir moemtan etwas schwer, wie ich das machen soll.

    ich muss also die wrapper unit so programmieren, dass diese beim start der exe mir die function aufruf.

    also in peseudocode (für die wrapper)

    .....
    procedure StarteFunA;
    begin
    TMainForm.func_a;
    end;
    ....

    könnte mir bitte wer (vielleicht schrittweise inkl. wahl des typs der anwendung) erklären, wie ich das realisiere? ist nämlich meine erster wrapper unit in delphi :coolsmile und ausser, dass ich darin eine funktion brauche, die beim start der exe mir die function aus meiner unit aufruf (z.B. TMainForm.func_a) habe ich momentan nicht viel ahnung, wie die wrapper unit auszusehen hat. vorallem wie ich das ohne zusätzlich angezeigtem formular machen kann :confused:

    vielleicht kann mir da bitte wer weiterhelfen, der sowas schon gemacht hat.

    danke.

    lg,
    stephan.

    hallo!

    hab nun mittels logging (wireshark) gesehen, dass der request zwar auf die andere seite gelangt, von dort aber keine antwort retour kommt. ausser, dass die gegenseite nur dhcp requests (broadcast) rausschickt.
    das würde doch darauf schliessen lassen, dass mein routing funktioniert, ich aus welchen gründen auch immer allerdings keine antwort retour bekomme.

    hat jemand von euch da eine idee, warum zwar der request an der gegenstelle ankommt, allerdings keine reply zurückkommt. mein problem ist, dass ich nur auf der seite loggen kann, von der ich den request wegschicke, daher kann ich nicht (leicht) feststellen, ob die gegenstelle zwar was wegschickt, es aber nur nicht ankommt. pakete, die zwar ankommen aber verworfen werden, würde ich ja im log auch sehen, selbst wenn diese klarerweise nicht verarbeitet werden.

    Stephan.

    Hallo!

    Wahrscheinlich eh das einfachste der Welt, aber ich steh trotzdem momentan etwas an:

    Was passieren soll: Ich habe zwei Geräte mit zwei verschiedenen IP Adressen und eventuell auch verschiedene Subnetze (muss aber nicht sein). Was ich nun machen will ist:

    Gerät A <=> (Gateway) <=> Gerät B

    Damit will ich ermöglichen, dass ich mit jedem anderen Gerät sprechen kann, ohne die Netzwerkadresse bzw. die Subnetmask meines Geräts A zu ändern. Daher will ich über ein Gateway raus, und brauche dafür natürlich eine route, damit ich übers Gateway raus kann.

    Sagen wir Gerät A hat die IP 192.168.26.11.
    Gerät B hat die IP 192.168.27.20

    Nun kann ich ja entweder Gerät A eine IP 192.168.26.x zuweisen und dann sollts kein Problem sein bei Punkt zu Punkt. Das will ich aber nicht, weil das funktionieren soll, egal was dranhängt. Ein darüberliegendes Programm soll mir dann dynamisch die jeweilige Route hinzufügen, damit die Kommunikation klappt. Aber bevor ich an das gehen kann, muss es mal für eine Beispielsituation funktionieren (z.B. mal per "ping-experiment" an der Kommandozeile).

    Ich hätte folgendes bis jetzt versucht:
    route add 192.168.27.0 255.255.255.0 192.168.26.11
    (route add destination mask gateway/source)
    da bekomme ich aber nur ein "request timed out".

    Diese "Aktion" soll dann mein Programm dynamisch machen, also gewissermassen "route add destination mask gateway/source" wobei ich die werte dann dynamisch zuordne und an die kommandozeile schicke.

    Wäre für jeden Tipp dankbar.
    Danke!

    Stephan.

    also ich hab das nun so gelöst (zwar nicht elegant, aber es geht trotzdem):

    xterm -e sh -c "script.sh; sh"

    dann hab ich zwar auch ein leeres Terminalfenster aber so funkts, wenn auch wie gesagt nicht elegant. Aber ich will damit ja keinen Schönheitspreis gewinnen. Wenns doch anders geht und das besser aussieht, dann klarerweise bevorzugt!

    Danke jedenfalls für alle Tips!

    Lg,
    Stephan.

    Zitat von eaglo

    das startet 2 terminal mit deinen skripten drin (das sie automatisch beenden kannst du - wie sauzachn schon geschrieben hat - mit "read -p "Bitte Taste drücken ..." in A bzw. B abfangen)



    das sonderbare ist hier allerdings: Wenn ich dieses read -p Kommando am Ende des Skripts reinsetze, passiert garnichts, das Fenster geht trotzdem zu, so als ob ich diese Zeile erst garnicht drinnen hätte.

    Wenn ich die Befehlszeile aber direkt ins Terminal schreibe, dann gehts. Bzw. wenn ich das Skript direkt im Terminal starte ...

    Verstehe ich zwar nicht ganz. Was ich mir momentan überlege ist, ob man mit sleep() das schließen verhindern kann, allerdings glaub ich, daß ich damit wohl auch meine Tasks schlafen schicke :(

    Mal schauen, ob ich aus dem einen Script ein anderes aufrufen kann, welches mir das Schließen des Fensters unterbindet ...

    Stephan.

    Zitat von [fl]Quel`Tos

    Also wenn du ein Shellscript schreibst und dann ausführst wird eine shell gespawnt, in der das script läuft und die wird natürlich gleich wieder geschlossen, wenn das script aus ist.
    D.h. wenn du was zurückgeben willst das länger dastehn soll, dann schreibst du das explizit ins script (z.B. einfach ein read o.ä.)
    ODER du willst eigentlich ein Terminal aufmachen und halt gleich nach aufmachen dein Script laufen lassen. Dann kannst das script sicher irgendwie als Argument angeben. Müsst ich aber jetzt selbst nachschaun (=> man bash/sh/whatever).



    Nun, ich hab z.B. ein script geschrieben, das mir 5 Programme nacheinander startet. Alle diese Programme geben selbst Statusmeldungen aus, z.B. wenn ein Datenpaket verarbeitet wird und damit eine Aktion in einem Programm auslöst. Wenn also das Skript im laufenden Terminal gestartet wird, dann sehe ich laufend Unmengen an Statusmeldungen, bis ich alle Programme terminiere. Läßt sich mit einem "ping -t xxxx" vergleichen. Sowas in der Art machen meine Programme. Und das soll im Terminal natürlich zu sehen sein, sonst machts ja keinen Sinn, das auszugeben. Ganz abgesehen davon, daß eines dieser Programme ein GUI startet, welches natürlich sonst auch gleich wieder weg wäre, bevor ich noch irgendwas dabei machen kann.

    Daher ist der Tip gut gemeint auf eine Eingabe mit Read zu warten, hilft aber leider wohl nicht weiter, weil das vielleicht meine Programme sperrt, solange nicht eingegeben wird, oder?

    Also kurz gesagt, ich habe mehrere Programme, wobei eines ein GUI startet, die anderen ständig output a la "ping -t" liefern. Und das will ich sehen, bis ich die Programme beende.

    Ich hab zwar auch einige Skripts, die mir einfach Dateien von A nach B kopieren bzw. austauschen, da störts mich ja nicht, wenn das Terminal gleich wieder zu ist. Aber genau bei dem einen Skript (das ich sinnigerweise startall.sh getauft habe) ist das kontraproduktiv.

    Lg,
    Stephan.

    Hi!

    Ich würde gern folgendes tun: Ich hab eine Hand voll shellscript und will die nicht im shell selbst mit ./script starten. Ich will mir am Desktop Symbole anlegen, hinter denen die Scripts stehen. Soll heißen, wenn ich das Script starten will, dann klicke ich auf das entsprechende Icon.

    Bis jetzt habe ich es so weit gebracht, daß ich ein Start angelegt hätte. Das Problem dabei ist aber nur, daß die die Frage bekomme, was ich mit der Datei machen will mit Auswahl "im Shell ausführen", "Anzeigen", "Abbrechen" und "Ausführen". Außerdem verschwindet das Shell (nach "im Shell ausführen") sofort wieder. Meine zwei Probleme sind also:

    1) wie verhindere ich diese "Zwischenmeldung"?
    2) wie kann ich dafür sorgen, daß das Shell offen bleibt?

    ich will hier die Funktionalität erreichen, wie ich sie mit dem bereits offenen Terminal und ./script erreiche.

    Die Dialogboxen bieten mir hierfür keinerlei Einstellmöglichkeiten. Wie kann ich das dennoch erreichen? Also Klick aufs Icon und Ausführung des Scripts in offenem Terminal, daß ich die Ausgabemeldungen sehe bzw. daß die Befehle nicht sofort terminiert werden.

    Danke!

    Lg,
    Stephan.

    mein Problem hat sich erledigt. Ich hab es jetzt auch ohne Gateways hingebracht. Damit ists eine ganz einfach DHCP Regel.
    Es besteht zwar ein Problem, nämlich daß ich auf IP Layer keine Verbindung vom Server zu einem Client bekomme zum anderen schon (weil der Server ja auf einer Netzkarte läuft) aber da es auf MAC Layer arbeietet - mein Tool mein ich - spielt das nur eine untergeordnete Rolle. Ist sozusagen ein kleiner Schönheitsfehler :)

    Danke aber trotzdem für alle Tips!

    die im vorigen Posting von mir angegebenen Meldungen sind die Fehlermeldungen, die ich bekommen habe.

    Hier also nun meine dhcpd.conf und das ifconfig

    dhcpd.conf



    und der output von ifconfig



    Ist da irgendetwas auffälliges zu finden? Wüßte nämlich nicht, warums nicht gehen sollte.
    Hab das auch mit 255.255.255.0 überall versucht, da hat es sich geweigert hochzufahren, den DHCP Server mein ich. Hab dann nur einen Hinweis bekommen, daß die Subnetmask nicht paßt (will scheinbar nicht zweimal die gleiche haben).