UDF ohne "richtig Include" nutzen

  • Ja wie der name schon sgat suche ich eine möglichkeit meine UDF so nu zuten das sie NICHT in die exe compiliert wird.

    Also das sie in einem order UDF liegt und da offen zugänglich für mods ist, aber dan eben das programm nicht erneut compilieren muss das die änderungen übernommen werden.
    Den mein problem ist wenn ich was an der UDF änder muss man ja das teil neu compileren das auch wikrlich die gänderte UDF drin ist. Gibt es da eine möglichkeit das zu umgehen und die UDF irgendwo im klartext zu haben und trotzdem bequem auf die funcs in der UDF zu zu greifen?

    MFG Matthias

  • Hallo.

    Also ich sehe da keinen Sinn drinne, denn es heißt doch "INclude" und nicht "EXclude"?

    Wenn Du nicht möchtest das die anderen User z. B. Benutzereinstellungen sehen, dann codiere diese doch z. B. in einer INI-Datei oder TXT-Datei.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • es geht darum ich hab irgendwo cmd in einem unterordner eine UDF wo meine func ist.
    Wenn ich sie include und das programm compiliere ist es in der exe.
    Jetz wenn ich die UDF änder muss ich das ja neu compilieren und das will ich nicht weil es für ein server sein soll der ohne neustart und ohne neucompiliere auskommen soll.
    Das ermöglich die auch probleme oder ide ausgabe der func zu fixen ohne groß was am programm zu machen weil die datei eben offen zugenglich ist

    MFG Matthias

  • Hallo Matthias_199,

    dann msst du dir mit z.B.: C++ eine DLL schreiben und die Funktionen daraus aufrufen, dann braucht die EXE nicht neu kompiliert werden. Allerdings stehen dann normalerweise abgeänderte Funktionen auch erst nach einem Neustart der EXE zur Verfügung,

    mfg (Auto)Bert

  • ja gut meine idee war das irgendwie mit ner udf zu machen und die immer neu zu laden an ne C++ Dll hab ich auch schon gedacht problem da is aber die dll must du ja auch sozusagem compilieren und wäre über ftp mit dem editor auch nich wirklich schnell zu ändern

  • klar aber wie gesagt die haupt idee ist das du änderungen über ftp machen kannst udn über ftp kannst du nix starten aber ne datei abändern

  • Zitat

    klar aber wie gesagt die haupt idee ist das du änderungen über ftp machen kannst udn über ftp kannst du nix starten aber ne datei abändern

    Verstehe ich ehrlich gesagt nicht.....
    1. Du hast ein Programm 24/7 am laufen, dann kannst du DLL´s, Includes und wasweisichnichtalles ändern, "sauber" bekommst du dort kaum geänderte Funktionen rein.

    2. Das Programm (oder Teile davon, z.B. Includes) wird per FTP upgedatet, startet daraufhin neu (ggf Benutzerhinweis) und nach einigen Sekunden ist alles auf dem neuesten Stand.

    /EDIT/ zu 1.
    mit einer dll sollte das klappen, dll uploaden, das Programm bemerkt die neue dll, entlädt die alte dll, kopiert die neue uber die alte und lädt die dll wieder....

  • ja bei der Dll ist das problem ich muss zugeben von dlls habe ich noch nicht wirklich ahung voallem ist mein c++ um lengen nich so gut wie mein autoit

  • kann man den überhaupt nicht dateien einzelen wärend dem betrieb des prorgammes includen?? also nicht von anfang an sondern ert wenn es gebraucht wird

  • du kannst auch mitten im script erst das include schreiben. du musst aber includen bevor du eine der funktionen, variablen, ... verwendest.
    es macht also sinn das man am anfang des scriptes includet

  • @Mathias,

    vielleicht erklärst Du kurz, was das Programm machen soll 24/7.
    Vielleicht gibt es ja noch andere Möglichkeiten wie selbst Updaten mit Restart oder so...
    Dazu muss Dein Programm halt auf einem ftp-Server Deiner Wahl in Intervallen nachsehen, ob dort eine "neuere" Version liegt , sich diese ziehen und dann selbst überschreiben.
    Dabei wäre Dein Prog halt für 10 Sekunden außer Gefecht

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • also das is für ne art telnet.

    Und ich hab mir vorgestellt das ich alle befehle die über das telnet verfügbar sein sollen in einem ordner sind der befehle heißt
    und in dem ordner ist für jeden befehl eine UDF die so heißt und in der jeweilige befehl. in der Udf ist immer eine func die gleich heißt aber ebenw as anderes macht und was anderes zurückgibt.

    der sinn ist es jetz das der order über ftp verwügbar ist und ich jeden bfehl einzeln updaten kann oder ändern oder sogar ganz neue hinzuzufügen ohne das ich den server neustartet da der ja immer sucht ob es den bfehel gibt oder nicht und deshalb erst mit diesem späten nutzen

    das hätte halt die vorteile das der befehl vlt kurz außer gefecht ist aber es ist ja dan nur immer vorallem dauert das update nicht lange weil das ja ne kleine script datei ist.

    vorallem muss nix compiliert werden udn fehler sind mit dem editor lösbar und änderungen genau das selbe

  • @Schnitzel

    tut er dan immer wieder includen weil ich meine der tut doch egal wo du das include hinsetzt die ganzen sachen am anfang mit in die exe packen und das wieder nich sinn der sache weil das updaten der befehle dan wegfällt

  • du könntest das ganze lösen indem du eine ini erstellst mit allen befehlen
    und für jeden befehl erstellst du dann eine Exe die mithilfe von $Cmdline parameter entgegennimmt.

    dann musst du nur die "Befehls-Exen" updaten

  • ja hab ich mir überlegt das wäre auch eine super idee blos der telnet server is von mir so geschrieben das mehrere user ihn nutzen können.

    Exe starten mit prameter
    Exe laufen lassen und im exit code die infos ausgeben
    und dan kann eerst der server laufen lassen

    das wären unzumutrbare zeiten bei 4 user...

    vorallem muss man wieder compilieren also die befehle und gerade das wollte ich umgehen und die UDF in reiner textform lassen das man sie wirklich sogar mit ftp bearbeiten kann

  • *g* dann installier ihnen autoit und leg ihnen die scripte so hin...

    bzw im prinzip reicht es ja wenn du ihnen die AutoIt3.exe gibts ihnen die pfade anpasst und fertig...

  • ja zu simpel :P ich will schon wirklich das das teil alleine und überall läuft ohne was nachzuinstallieren klar das wäre wohl die einfachste lösung :P gefällt mir aber nich

  • Mach es doch so ähnlich wie die Kommandozeile ;) Jeder Befehl ist ein eigenes Programm, die Rückgabe kannst du dann per ConsoleWrite und StdOutRead vom Befehlsskript an den Server übertragen.

  • klar blos mein problem ist halt ich denke das das lagsam wird da es ja mehrer user sind und ich muss das alles dan mit runwait machen