Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prelazak na BDS 2006 - mogući problemi

[es] :: C/C++ programiranje :: Prelazak na BDS 2006 - mogući problemi

[ Pregleda: 1707 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

maximus_1
Max Maximus

Član broj: 46848
Poruke: 277
193.198.27.*



Profil

icon Prelazak na BDS 2006 - mogući problemi19.06.2006. u 07:50 - pre 217 meseci
Radio sam jedan program u Borland C++ Builderu 6 i sada sam prešao na BDS 2006 no pojavili su mi se neki problemi. Nisam točno siguran jesu li nastali kao posljedica prelaska ili sam i sam nešto promijnio u kodu pa program ne radi dobro.

Problem -> imam prozor na kojem sam postavio popup menu. Kada kliknem desnim klikom taj izbornik se prvo pojavi ispod prozora a tek onda iznad njega. To je dosta iritantno ali ne toliko kao problem kada želim pozvati Balloon Tip na kojem mi pišu neki podaci o programu. Jednostavno, on se pojavi iza prozora i gotovo cijeli je zaklonjen pa se ništa na njemu ne vidi pročitati. Problem donekle mogu riješiti ako isključim prozirnost (AlphBlend) no to mi nije namjera jer je jedna od svojstava programa.


Kako sam čuo da BDS 2006 ima dosta bugova, odlučio sam skinuti najnovije zakrpe (patcheve) i uradio sam to sa Borlandove stranice. No i tu imam problem jer kad želim instalirati on mi dojavi poruku u smislu da se ne može updateati jer je moguće da ne postoji softver kojeg treba updateati ili nije ispravna verzija softvera!

 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Prelazak na BDS 2006 - mogući problemi19.06.2006. u 19:50 - pre 217 meseci
BDS2006 zaista ima bugova, ali sve sto je povezano sa komponentama koje su vec ranije
postojale (TPopupMenu) - vrlo mi je sumnjivo. Tu ne bi trebalo da ima problema.

Napravi novu glavnu formu, i uporedi da li ima nekih vaznijih razlika izmedju tvoje i originalne
forme. Bas me zanima o cemu je rec. Ako imas neki kod - posalji ga pa da vidim.

BDS2006 ima 2 update-a, koje sam bez vecih problema primenio, pa ako imas nesto da me
pitas javi se na PP.

 
Odgovor na temu

maximus_1
Max Maximus

Član broj: 46848
Poruke: 277
193.198.27.*



Profil

icon Re: Prelazak na BDS 2006 - mogući problemi19.06.2006. u 20:27 - pre 217 meseci
Sada mi odjednom radi ono sa popup menijem. Update nisam uspio instalirati.

Inače : poruka koja mi se pojavi kad pokušam instalirati patcheve:

Code:
The upgrade patch cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade patch may update a different version of th program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade patch.


No sad se opet pojavio problem. Kad za formu koristim FormStyle onda mi se dogodi sljedeće:
Na formi za postavke programa imam opciju da li je glavni prozor iznad svih ostalih (fsStayOnTop) ili da nestane klikom negdje izvan njega. Problem se javlja kad isključim opciju da prozor bude iznad svih. Naime, ako uključim navedenu opciju program lijepo prijeđe na taj način rada da bude iznad svih no ako radim obrnuto i dalje je iznad svih iako sam 100% siguran da je namješten na fsNormal jer to provjerim uvjetom na glavnom prozoru ( i javi mi da je fsNormal - no neće da nestane ako kliknem negdje izvan njega). Ako program ugasim pa onda ponovno pokrenem sve radi savršeno.

[Ovu poruku je menjao maximus_1 dana 19.06.2006. u 21:41 GMT+1]
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Prelazak na BDS 2006 - mogući problemi19.06.2006. u 21:01 - pre 217 meseci
Ako me pamcenje dobro sluzi, u BCB Helpu je pisalo da se FormStyle ne koristi dinamicki,
mada u principu ne bi trebalo da ima problema oko toga, jer to sam Windows dozvoljava.

Pogledaj API SetWindowPos, pa stanja menjaj time a ne sa FormStyle.
 
Odgovor na temu

maximus_1
Max Maximus

Član broj: 46848
Poruke: 277
193.198.27.*



Profil

icon Re: Prelazak na BDS 2006 - mogući problemi20.06.2006. u 09:52 - pre 217 meseci
Koristio sam Api funkciju i riješio nek probleme. Još samo mi ostaje problem kada iz druge forme namještam da prozor nije iznad svih - i dalje ne radi. Profunkcionira kada na formi kojoj stavljam izvršim sljedeći kod:

Code:
    iniSettings = new TIniFile(ExtractFilePath(Application->ExeName)
    + "\Settings.ini");

    int x;

    if(iniSettings->ReadInteger("Settings", "StayOnTop", x) == 0)
    {
        int XCor = iniSettings->ReadInteger("Settings", "frmL", x);
        int YCor = iniSettings->ReadInteger("Settings", "frmT", x);

        SetWindowPos(frmMain->Handle, HWND_TOPMOST, XCor, YCor, 0, 0, SWP_NOMOVE ||
        SWP_NOACTIVATE || SWP_NOSIZE);

        SetWindowPos(frmMain->Handle, HWND_NOTOPMOST, XCor, YCor, 0, 0, SWP_NOMOVE ||
        SWP_NOACTIVATE || SWP_NOSIZE);

        // Parametars
        // HWND_TOPMOST -> HWND_NOTOPMOST
        // x
        // y
        // cx -> new width
        // cy -> new height
    }

    delete iniSettings;


Onda sve funkcionira. Ako recimo tada ponovno želim uključiti da bude iznad svih, otiđem na formu za postavke i onda sve radi savršeno. kada kliknem izvan prozora prozor je i dalje vidljiv. No ako onda želim postaviti da prozor ne bude iznad ostalih nema efekta jer ako kliknem izvan njega ili otvorim neki novi prozor i dalje je situacija ista. Problem riješim ako izvršim gornji kod.

Samo želio bih da se on sam izvrši sam od sebe ali ne znam u koji Event ga postaviti - event koji se izvršava kad izađem iz neke druge forme?

Konkreto stavio sam sljedeći kod na dugme OK kod forme za postavke:

Code:

    if(chkStayOnTop->Checked == true)
    {
        SetWindowPos(frmMain->Handle, HWND_TOPMOST, frmMain->Left, frmMain->Top, 0, 0, SWP_NOMOVE ||
        SWP_NOACTIVATE || SWP_NOSIZE);
    }
    else
    {
        SetWindowPos(frmMain->Handle, HWND_NOTOPMOST, frmMain->Left, frmMain->Top, 0, 0, SWP_NOMOVE ||
        SWP_NOACTIVATE || SWP_NOSIZE);
    }

    SaveSettings();
    Close();


Možda mi neki od parametara nevalja za kod u else odjeljku?
 
Odgovor na temu

maximus_1
Max Maximus

Član broj: 46848
Poruke: 277
193.198.27.*



Profil

icon Re: Prelazak na BDS 2006 - mogući problemi21.06.2006. u 16:55 - pre 217 meseci
Riješio sam problem tako da sam postavio dodatni Timer na glavnu formu u kojem je kod koji se trebao izvršiti u Eventu. Kada zatvorim formu za postavke pokrenem Timer i na taj način izvršim kod. Na kraju još samo deaktiviram Timer.

Sve u svemu, sada sve lijepo radi. Hvala na pomoći!
 
Odgovor na temu

[es] :: C/C++ programiranje :: Prelazak na BDS 2006 - mogući problemi

[ Pregleda: 1707 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.