Einzelnen Beitrag anzeigen

philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
862 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Tethering: Demo stürzt im Release-Modus ab und findet im Debug-Modus nicht den Se

  Alt 27. Mai 2021, 21:32
Ja, ich kenne die relevanten QP-Einträge schon und werde dort meine Erkenntnisse reinschreiben.

Aktuell habe ich mich entschieden, dass ich die IP-Adresse lieber manuell setze. Ich habe teilweise auf den Rechnern neben dem WLAN-Network (192...) ein zweites Netzwerk für irgendwelche technischen Zwecke (169...). Die Standard-Implementierung von EMBT findet teilweise dieses Netzwerk auf Windows- und MacOS-Büchsen und dann funktioniert Tethering nicht.
Da ist mir nur etwas unklar, wie man da allgemein gültigen Code draus macht. So richtig prickelnd finde ich das Auspicken der IP-Adresse auch nicht. Wenn man dies tut, darf man im Formular-Designer bei TetheringProfile keinen Manager setzen, sondern muss dies erst zur Laufzeit setzen. Sonst hat man keine Chance das PreferredNetwork irgendwie vorab zu setzen:

Delphi-Quellcode:
class function TStringUtils.getIPv4Address():String;
var
  AAddresses: TIdStackLocalAddressList;
  LAddr: TIdStackLocalAddress;
  I: Integer;
  prefNetwork,IP: String;
begin
  mlog.info('setIPAddressManual');
  AAddresses:=TIdStackLocalAddressList.Create();
  prefNetwork:='192.';
  Result:='';
  try
    GStack.GetLocalAddressList(AAddresses);
    for I := 0 to AAddresses.Count-1 do
    begin
      LAddr:=AAddresses[I];
      IP:=LAddr.IPAddress;
      if ((IP<>'127.0.0.1') and ((Result='') or ((prefNetwork>'') and (pos(prefNetwork,IP)>0) and (pos(prefNetwork,Result)<=0)))) then
      begin
        case LAddr.IPVersion of
          Id_IPv4:
          begin
            mlog.info('Found IP-address*: '+IP);
            Result:=IP;
          end;
          Id_IPv6:
          begin
            mlog.info('Found IP-address: '+IP);
          end;
        end;
      end else
        mlog.info('Found IP-address: '+IP);
    end;
  finally
    AAddresses.Free;
  end;
end;

Geändert von philipp.hofmann (27. Mai 2021 um 21:34 Uhr)
  Mit Zitat antworten Zitat