Zum Inhalt springen

VaNaTiC

Mitglieder
  • Gesamte Inhalte

    582
  • Benutzer seit

  • Letzter Besuch

Beiträge von VaNaTiC

  1. Das mit der Hostanwendung ist soweit ich weiss nur zum Debuggen/Testen/Starten aus der IDE.

    Deine ConnectSM() Funktion schaut problematisch aus.

    Du solltest keine VCL-Komponenten als Parameter/Rückgaben verwenden.

    D.h. keine TStringList, sondern lieber feste Parameter mit char* oder mit Stringlängenangabe.

    Innerhalb der "normalen" DLL kannst Du dann ohne Probleme VCL-Komponenten nutzen. Nur die Parameter/Rückgaben - also die exportierten Funktionen - sollten Standard-C sein.

  2. Hab ich das richtig verstanden, dass Du ein DLL-Projekt erstellt hast in welchem die Definition Deiner Klasse TSendmail implementiert ist?

    Und dann möchtest Du aus Deinem EXE-Projekt diese Klasse aus der DLL nutzen?

    Ist Deine DLL eine Borland Runtime Library (*.bpl)?

    Und ist das auch in Deinen EXE-Projekt-Optionen so eingestellt?

    "Normale" Dynamic Link Libraries (*.dll) exportieren Funktionen, keine Klassen.

  3. Das Domainweiter- oder umleiten wurde hier schon mehrmals behandelt.

    Es gibt mehrere Wege mit Vor- und Nachteilen.

    Dein Refresh nach 5 Sekunden weist den Browser an, die eingetragene URL aufzurufen. Die steht dann ach oben in der Adressleiste drin.

    Wenn das nicht stört, ist das eine gute Variante.

    Eine ähnliche Möglichkeit wäre über z.B. PHP die Weiterleitung zu machen, aber ich gehe davon aus, dass der günstigste Strao kein PHP kann.

    Noch eine (nicht sehr schöne) Möglichkeit wäre ein Frame mit nur einer Zelle Inhalt und 100% Größe und als Location Deine URL. Damit zeigt der Browser auch keine kryptische URL in der Adresszeile.

    Aber wie gesagt, es gibt immer Vor- und Nachteile.

    Eine kostenlose gute Variante ist z.B. http://www.nic.de.vu/

  4. Ich denke, dass wird nicht einfach. Soweit sich das mir erschliesst ist das ein Sicherheitsfeature in neueren Browsern um Cross-Site-Scripting zu unterbinden, denn genau das könntest Du dann machen :D

    Versuchen könntest Du in den Browsereinstellungen beide Sites als "vertrauenswürdig" einzustufen. Eventuell lässt sich die Warnung damit verhindern.

  5. OPC heißt in diesem Fall aber auf einen OPC-Datenserver von SIEMENS zuzugreifen, der seinerseits selber die Daten per Ethernet abholt.

    Aus eigener und Erfahrung mit anderen Firmen, die diverse OPC-Server eingesetzt haben (SAIA, SIEMENS, WinCC) sind die entweder nicht immer stabil, nicht gut zu parametrieren, nicht besonders performant oder schlicht einfach zu teuer, weil beispielsweise Lizenzierung pro x-Datenpunkte, pro Verbindung oder eine Kombination davon.

    Einen OPC würd ich nur einsetzen, wenn es a) nicht anders geht oder B) sich der andere Aufwand nicht lohnt.

  6. Du kannst aus VB6 mit Sicherheit auf die WinAPI der Sockets zugreifen.

    Dort gibt es:

    socket()

    connect()

    recv()

    send()

    recvfrom()

    sendto()

    ...

    Und damit kann man rudimentäre Aufgaben sehr zuverlässig lösen.

    Ich habe selber mit Delphi das SAIA-Protokoll Ether-S-Net (UDP/IP Port 5050) implementiert und eben keine Komponenten genommen.

    Das funktioniert so gut, dass die Verzögerung vom Abholen aus der SPS und Rausgeben ins WinCC Netzwerk + max. 5ms liegt und nur mit RDTSC genau messbar ist.

    Das Protokoll der S7 interessiert mich auch. Also wenn Du da Unterstützung brauchst würd ich Dir gern helfen.

  7. Bei größeren Projekten wird der Risikofaktor, der Managmentoverhead und die Teamgröße mit einbezogen.

    Um nicht völlig pessimistisch und auch nicht völlig optimistisch zu rechnen gibt es dann grob gesagt diverse Methoden wie die verschiedenen Faktoren zusammengerechnet werden. Und daraus macht man dann einen Mittelwert der in der Summe der Teilaufgaben im Nachhinein verblüffend realistisch wirkt.

    Wie die Formeln aussehen und welche Faktoren dort wie eingesetzt werden ist eine Wissenschaft für sich mit diversen Ansätzen, alle mehr oder weniger passend für ein Projekt.

  8. Hast Du schon ein Grundgerüst für einen Bildschirmschoner fertig?

    Was heißt kommerziell? Soll man dafür bezahlen? Wie willst Du das absichern?

    Bei google findest Du jede Menge Hinweise zum Programmieren eines Bildschirmschoners unter Windows.

    Sogar solche, was man beachten muss, damit das Vorschaubildchen auch dort ist wo es hin gehört und auch ohne Fehler wieder verschwindet, ...

  9. Hmm, klingt eigentlich trivial und einleuchtend. Nur ich kann ich nicht mehr erinnern warum ich das nicht so gemacht hab.

    Deinen Link hab ich mir mal angeguckt. Nur das vorletzte (problematische) DoubleChecked...-Beispiel hinkt, da nicht 2mal synchronized, sondern nur zweimal if ( null ). Und das war eben zu wenig.

  10. Ich hatte in Multi-Threaded-Umgebungen immer Probleme mit einem einfachen Singleton-Pattern.

    Deshalb hab ich das immer mit zwei synchronized gemacht.

    
    	private static Connection instance = null;	
    
    	public static Connection getInstance() {
    
    		synchronized(DatabaseConnection.class) {
    
    			if(instance == null) {
    
    				synchronized(DatabaseConnection.class) {
    
    					if(instance == null){
    
    						instance = getConnection();
    
    					}// 2nd if null
    
    				}// 2nd synchro
    
    			}// 1st if null
    
    		}// 1st synchro
    
    		return instance;
    
    	}
    
    

    Die Begründung bekomm ich nicht mehr 100%ig zusammen, aber google ist da aussagekräftig.

  11. Genau, wenn Du für jede Zeile einen Löschen-Button hast, dann musst Du die anhand einer ID oder des Primärschlüssels unterscheiden und beim Form-Absenden mitschicken lassen.

    Z.Bsp. mittels einem <input type="submit" name="id" value="xyz" />

    Aber bitte beachte, dass das nicht sicher ist! Damit kann jeder durch Setzen der ID wahllos löschen, wenn die ID zufällig auf einen vorhandenen Datensatz passt.

  12. Hmm, ich hab das ganze mal nachvollzogen mit

    @echo off
    
    :BLUB
    
    For %%f In (T:\test\*.txt) Do (
    
    copy %%f %%f.bak
    
    DEL %%f
    
    echo processed %%f
    
    )
    
    goto BLUB
    
    

    das if exist brauchst Du nicht. Und wenn, dann schon mit Verzeichnis oder rufst Du die Batch aus dem Hardbrake-Verzeichnis auf?

    Problem an der ganzen Sache ist, dass sobald Du anfängst eine Datei in das Verzeichnis zu kopieren, Deine For-Schleife diese Datei entdeckt und sofort den Aufruf von Hardbrake startet.

    Je nachdem wie das Tool darauf reagiert, dass die Datei noch geschrieben/kopiert wird, wird es sich wahrscheinlich beenden oder hängenbleiben.

    In meinem Beispiel ist es dann fast immer bei größeren Dateien passiert, dass der COPY-Befehl noch den "Zugriff verweigert" (weil noch kopieren) bekommen hat, aber der DEL-Befehl danach ausgeführt werden konnte.

    Das ist alles reine Glückssache ob das so funktioniert.

    Eine Lösung wäre den DEL-Befehl in Abhängigkeit von der Existenz der MP4-Datei zu machen oder generell nur wenn Datei-Datum der MP4 älter als 1 Tag

  13. Hmm, dieses Forum ist kein Lösungslieferant.

    Wenn Du Dir mit genug Eigentinitiative bereits Gedanken gemacht hast, dann zeig gern Deine bisherigen Versuche und nenne konkrete Probleme/Fragen.

    Dann helfe sicherlich nicht nur ich Dir gern weiter.

  14. Soweit ich das noch weiss, funktioniert der Windows Nachrichtendienst über Windows MailSlots (über das Windows Netzwerk, also das SMB-Protokoll).

    An den DateiSlot: \\Empfänger\mailslot\messngr

    Für Empfänger können dabei * als Broadcast in der Domain/Arbeitsgruppe oder Domänen, Arbeitsgruppen, User- oder Rechnernamen stehen.

    Hier ein altes Delphi-Beispiel von mir:

    procedure TExtChatMsgs.SendToWinPopUp( Absender,
    
                                           Adressat,
    
                                           Nachrichtentext: AnsiString);
    
    var
    
      RemotePath:                          AnsiString;
    
      OutText:                             AnsiString;
    
      RemoteHandle:                        DWORD;
    
      Len:                                 DWORD;
    
    begin
    
      OutText := Absender + #0 +
    
                 Adressat + #0 +
    
                 Nachrichtentext;
    
      RemotePath := '\\' +
    
                    Adressat +
    
                    '\mailslot\messngr';
    
      RemoteHandle := CreateFile( PChar(RemotePath),
    
                                  GENERIC_WRITE,
    
                                  FILE_SHARE_READ,
    
                                  nil,
    
                                  OPEN_ALWAYS ,
    
                                  FILE_ATTRIBUTE_NORMAL,
    
                                  0);
    
      if RemoteHandle = INVALID_HANDLE_VALUE then
    
        raise exception.create('Could not open a remote mailslot');
    
      WriteFile( RemoteHandle,
    
                 Pointer( Outtext)^,
    
                 Length( Outtext),
    
                 len,
    
                 nil);
    
      CloseHandle( RemoteHandle);
    
    end;

    Aber dran denken, der ist standardmäßig seit XP SP2 deaktiviert.

    Je nachdem, wie die Nachrichten gesendet werden, kann man die natürlich mitlesen.

    Auch kann man die - wie alles übers Netzwerk - mitsniffen.

    Aber eine Art Protokoll gibt es dafür nicht.

  15. Gern, aber Du musst mir schon sagen, was Du daran nicht verstehst.

    Das erste ist eine reine Deklaration und Initialisierung mit 0.0 (als float).

    Innerhalb der Schleife ist da a += x was eine Kurzform von a = a + x ist.

    Und eine Umwandlung einer PHP-Variable in eine float-Zahl mittels floatval().

    Nach der Schleife ist die pure Ausgabe, die Du natürlich auf Dein konkretes Problem abstrahieren musst.

  16. Wie es im Kern funktioniert war glaube ich garnicht so detailliert beschrieben. Ich vermute mit Hooken oder Injecten der Funktionsaufrufe.

    Es wurde nur gesagt, es "hängt sich zwischen Anwendung und Betriebssystem", aber das kann man relativ leicht umgehen.

    Eine VM ersetzt es defintiv nicht. Außerdem kommt es darauf an, was Du tun möchtest. Sicher surfen? Viren testen? ...

    www.sandboxie.com :: View topic - Be sure what you analyse

    Du wirst doch nicht in einer VM surfen, oder? :D

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...