abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:44 | Nová verze

    Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Nová verze

    Bylo vydáno Eclipse IDE 2026-06 aneb Eclipse 4.40. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Zajímavý software

    Asterinas (GitHub) je v Rustu napsané jádro operačního systému poskytující s jádrem Linux kompatibilní ABI. Vydána byla verze 0.18.0. První distribucí postavenou nad jádrem Asterinas je Asterinas NixOS. Nejedná se o oficiální projekt NixOS a nemá nic společného s NixOS Foundation.

    Ladislav Hagara | Komentářů: 1
    včera 13:22 | Zajímavý článek

    Podrobně byla rozebrána kritická zranitelnost v nf_tables (CVE-2026-23111). Další lokální eskalace práv na Linuxu. V upstreamu byla zranitelnost již v únoru opravena. Ve zdrojovém kódu stačilo odstranit 1 vykřičník.

    Ladislav Hagara | Komentářů: 1
    včera 12:11 | Nová verze

    Evropská komise (EK) nařídila americké společnosti Meta, že musí znovu umožnit bezplatný přístup konkurenčním obecně zaměřeným asistentům umělé inteligence (AI) k WhatsAppu a tento přístup musí zachovat až do ukončení antimonopolního šetření. Opatření je dočasné a má zabránit vážnému a nevratnému poškození konkurence na rychle rostoucím trhu s obecnými AI asistenty. Meta uvedla, že se proti rozhodnutí odvolá.

    Ladislav Hagara | Komentářů: 8
    včera 11:44 | IT novinky

    Společnost Anthropic představila AI modely Claude Fable 5 a Claude Mythos 5. Claude Fable 5 je první model třídy Mythos určený pro běžné použití.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Byla vydána nová stabilní verze 3.24.0, tj. první z nové řady 3.24, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 03:33 | Komunita

    Na čem pracují vývojáři v Rustu napsaného mikrokernelového unixového operačního systému Redox OS (Wikipedie)? Byl publikován přehled vývoje za květen. Vypíchnout lze nový scheduler EEVDF nebo port desktopového prostředí Xfce na Redox OS.

    Ladislav Hagara | Komentářů: 0
    9.6. 22:22 | Komunita

    Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.

    Ladislav Hagara | Komentářů: 5
    9.6. 15:11 | Komunita

    Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (27%)
    Celkem 1871 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: chyba při otevírání souboru "file.open(QIODevice::ReadOnly | QIODevice::Text)"

    9.8.2011 14:32 Milan Bača | skóre: 2 | Valašské Meziříčí
    chyba při otevírání souboru "file.open(QIODevice::ReadOnly | QIODevice::Text)"
    Přečteno: 270×
    Mohl by mi někdo prosím pomoct? Externím programem plním textový soubor, který si hlídám pomocí QFileSystemWatcher. Když se v něm něco objeví tak chci načíst všechny řádky a hned jej zase vymazat. Při prvním naplnění souboru, QFileSystemWatcher změnu souboru odchytí a spustí metodu checkFile(), která spustí metodu loadFile(STACK_FILE_PATH). A tady nastává chyba. Soubor se neotevře jen pro čtení a hned se vymaže. V logu se mi objeví "Proces nemá přístup k souboru, neboť jej právě využívá jiný proces.". Při dalším naplnění souboru už vše funguje jak má. Už opravdu netuším co dělám špatně. Mohl by mě někdo nakopnout správným směrem? děkuji
        QFileSystemWatcher *fileWatcher;
        fileWatcher = new QFileSystemWatcher(this);
        fileWatcher->addPath(STACK_FILE_PATH);
        connect(fileWatcher, SIGNAL(fileChanged(QString)), this, SLOT(checkFile()));
    
    void Controller::checkFile()
    {
        if (connectionState)
            fileSystem->loadFile(STACK_FILE_PATH);
    }
    
    void FileSystem::loadFile(const QString &fileName)
    {
        QFile file(fileName);
        QStringList pathsList;
        if (file.exists() && (file.size() > 0)) {
            if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
                emit newLog(tr("Čtení"));
                emit newLog(file.errorString());
            } else {
                QTextStream out(&file);
                while (!out.atEnd()) {
                    QString line = out.readLine();
                    pathsList << line;
                }
                emit newListForCheck(pathsList);
                file.close();
            }
    
            if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
                emit newLog(tr("Výmaz"));
                emit newLog(file.errorString());
            } else {
                QTextStream in(&file);
                in << "";
                file.close();
            }
        }
    }
    

    Odpovědi

    9.8.2011 22:14 T.O.M. | skóre: 22 | blog: T.O.M.'s blog | Ostrava
    Rozbalit Rozbalit vše Re: chyba při otevírání souboru "file.open(QIODevice::ReadOnly | QIODevice::Text)"

    S QFileSystemWatcher můžeš narazit na spoustu problémů lišících se platformu od platformy. Mně se osvědčilo vždy na začátku slotu napojeném na fileChanged/directoryChanged cestu z "wočru" odebrat, provést co je třeba a na konci slotu cestu znovu přidat. Stávalo se mi v některých případech, že signál o změně přišel jen jednou. Možná to vyřeší tvůj problém s omezeným přístupem k souboru.

    Ještě pár tipů:

    while (!out.atEnd()) {
        QString line = out.readLine();
        pathsList << line;
    }
    bych nahradil za:
    while (file.canReadLine()) {
        QString line = out.readLine();
        pathsList << line;
    }
    a smazat obsah souboru jde lépe:
    if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
        emit newLog(tr("Výmaz"));
        emit newLog(file.errorString());
    } else {
        file.close();
    }

    31.8.2011 10:56 Milan Bača | skóre: 2 | Valašské Meziříčí
    Rozbalit Rozbalit vše Re: chyba při otevírání souboru "file.open(QIODevice::ReadOnly | QIODevice::Text)"
    Zdravím, odebrání cesty problém nevyřešilo, jen se objevuje náhodně.

    náhrada kódu
    while (!out.atEnd()) {
        QString line = out.readLine();
        pathsList << line;
    }
    
    za
    while (file.canReadLine()) {
        QString line = out.readLine();
        pathsList << line;
    }
    
    nefunguje, ale to mě zas tak netrápí jak to sledování souboru

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.