CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Długość kodu edytora

Długość kodu edytora

dział ogólny

Re: Długość kodu edytora

Nowy postprzez oneiro » niedziela, 27 października 2013, 17:03

Znam sztuczkę z "L", przeczytaj proszę mój post, na który odpowiedziałeś.

I tak jak pisałem
KOD cpp:     UKRYJ  
*zmienna[i].c_str()
także próbowałem - no nie mogę tego przeskoczyć. Całość kodu to:
KOD cpp:     UKRYJ  
char *zmienna[13][20]={{"A"},{"xcg"},{"zcg"},{"Ixx"},{"Izz"},{"Ixz"},{"thetap"},{"I11"},{"I22"},{"J"},{"Xs"},{"Ys"},{"Cw"}};

mxArray *temp_double = NULL;
double *temp_real = NULL;
char temp_variable[100];
//char napis[100];

for (unsigned i=0; i<13; i++)
 {
 //tworzę zminne globlanymi
 strcpy(temp_variable,"global ");
 strcat(temp_variable,*zmienna[i]);
 engEvalString(Param.ep,temp_variable);

 //wyciagam zmienna do tymczaswej macierzy
 temp_double = engGetVariable(Param.ep, *zmienna[i]);
 if (temp_double != NULL) //jesli jest liczba, idzimy dalej
  {
  temp_real=mxGetPr(temp_double);  //wycigamy czesc rzeczywista
  //tablica_wynikow[i]=*temp_real; //zapisujemy odczytane wynki do tablicy
  Param.tab_sect_prop_CUFSM[i]=*temp_real;
  mxDestroyArray(temp_double); //kasujemy tymczasowo macierz i od nowa.....
  temp_double=NULL;
  }
 else //nie ma zminnej o takiej nazwie
  {
   MessageBox(NULL, L"Zmienna nie istnieje!",*zmienna[i], MB_OK);     <<== TU SIĘ WYWALA
   return;
   }
}
Avatar użytkownika
oneiro
Homos antropiczny
Homos antropiczny
 
Posty: 96
Dołączył(a): niedziela, 17 czerwca 2012, 23:19
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: C++ Builder v6
Gadu Gadu: 0
    Windows XPChrome

Re: Długość kodu edytora

Nowy postprzez Cyfrowy Baron » niedziela, 27 października 2013, 18:13

Przeoczyłem. :oops:

Najprościej byłoby zamienić zmienną char *zmienna na wchar_t *zmienna, ale można i z char:

KOD cpp:     UKRYJ  
#include <stdlib.h> /* włączamy potencjalnie, aczkolwiek w XE2 nie jest to potrzebne */

 char *zmienna[13][20]={{"A"},{"xcg"},{"zcg"},{"Ixx"},{"Izz"},{"Ixz"},{"thetap"},{"I11"},{"I22"},{"J"},{"Xs"},{"Ys"},{"Cw"}};

 int i = 1; /* to dodałem sobie bo potrzebowałem zmiennej i */

 size_t size = strlen( *zmienna[i] ) + 1;
 wchar_t* zm = new wchar_t[size];
 mbstowcs(zm, *zmienna[i], size);

 MessageBox( NULL, L"Zmienna nie istnieje!", zm, MB_OK);
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: Długość kodu edytora

Nowy postprzez polymorphism » niedziela, 27 października 2013, 19:28

Cyfrowy Baron napisał(a):Nie wiem czym jest *zmienna[i]


oneiro napisał(a):
KOD cpp:     UKRYJ  
char *zmienna[13][20]= ...


Wzkaźnik:
KOD cpp:     UKRYJ  
const wchar_t* zmienna[13] = { L"A", L"xcg", L"zcg", ...};
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Długość kodu edytora

Nowy postprzez oneiro » niedziela, 27 października 2013, 21:47

Kod przeszedł, zatrzymało się na bibliotekach, których...nie mam :)


ilink32 command line
d:\program files\embarcadero\rad studio\9.0\bin\ilink32.exe -LDebug_Build;"d:\program files\embarcadero\rad studio\9.0\lib\debug";
G:\Art_2\Program_Art3_v4;"D:\Program Files\Borland\CBuilder6\Projects";G:\MATLAB\R2011b\bin\win32;.;..;"d:\program files\embarcadero\rad
studio\9.0\lib\obj";"d:\program files\embarcadero\rad studio\9.0\lib";"d:\program files\embarcadero\rad studio\9.0\lib\psdk";G:\Art_2\Program_Art3_v4;
"D:\Program Files\Borland\CBuilder6\Projects";G:\MATLAB\R2011b\bin\win32;.;..;"d:\program files\embarcadero\rad studio\9.0\lib\obj";"d:\program
files\embarcadero\rad studio\9.0\lib";"d:\program files\embarcadero\rad studio\9.0\lib\psdk";"d:\program files\embarcadero\rad
studio\9.0\lib\win32\release";"d:\program files\embarcadero\rad studio\9.0\lib\win32\release\psdk";"C:\Documents and Settings\All Users\Dokumenty\RAD
Studio\9.0\DCP" -jDebug_Build;"d:\program files\embarcadero\rad studio\9.0\lib\debug";G:\Art_2\Program_Art3_v4;"D:\Program
Files\Borland\CBuilder6\Projects";G:\MATLAB\R2011b\bin\win32;.;..;"d:\program files\embarcadero\rad studio\9.0\lib\obj";"d:\program
files\embarcadero\rad studio\9.0\lib";"d:\program files\embarcadero\rad studio\9.0\lib\psdk";G:\Art_2\Program_Art3_v4;"D:\Program
Files\Borland\CBuilder6\Projects";G:\MATLAB\R2011b\bin\win32;.;..;"d:\program files\embarcadero\rad studio\9.0\lib\obj";"d:\program
files\embarcadero\rad studio\9.0\lib";"d:\program files\embarcadero\rad studio\9.0\lib\psdk";"d:\program files\embarcadero\rad
studio\9.0\lib\win32\release";"d:\program files\embarcadero\rad studio\9.0\lib\win32\release\psdk";"C:\Documents and Settings\All Users\Dokumenty\RAD
Studio\9.0\DCP" -l. -v -Gn -GA"C:\DOCUME~1\Krzysiek\USTAWI~1\Temp\vfs15E7.tmp"="G:\Art_2\Program_Art3_v4\Unit1.dfm" -aa -V5.0 -w -G8 -Tpe libeng.dll;
libmx.dll c0w32w memmgr.lib sysinit.obj Debug_Build\Project2.obj Debug_Build\Unit1.obj Debug_Build\Unit2.obj Debug_Build\Unit3.obj
Debug_Build\Unit4.obj Debug_Build\Unit5.obj Debug_Build\Unit6.obj , .\Project2.exe , .\Project2.map , vcl.lib rtl.lib tee.lib bcbsmp.lib vclx.lib
dbrtl.lib bdertl.lib ibxpress.lib dsnap.lib dsnapcon.lib dsnap.lib dbexpress.lib vcldb.lib FmxTeeUI.lib FMXTee.lib fmx.lib vclimg.lib libeng.lib
libmx.lib import32.lib cp32mt.lib , , Project2.res Project2.res



[ILINK32 Error] Fatal: Unable to open file 'LIBENG.DLL;LIBMX.DLL'




Jednym słowem szuka bibliotek libmx.dll oraz libeng.dll - są to biblioteki w katalogu MatLaba. Korzystam z narzędzia ImpLib i mam dołączone pliki LIB do projektu.

Dodam, że były one wpisane w Opjach projektu -> Linkier C++ -> Delay Load DLLs, ale z nimi i bez nich w tym polu cały czas krzyczy o te biblioteki. POwiem więcej, po skopiowaniu ich do katalogu projektu nic nie zmieniło. A w starym BCB6 śmigało.

Nie wiem co z tym zrobić :/


EDIT:

Poradziłem sobie, wygląda na to, że w Update 3 (który mam) jest błąd - mimo, że opcjach nic nie ma to w konfiguracji trzyma, wystarczy albo coś wpisać (dać spację) w opcjach, albo wywalić z nazwy plików z ustawień projektu.

Że nie wspomnę o tym....
http://zachsaw.blogspot.com/2010/01/upg ... -2010.html

I.....UDAŁO SIĘ !!!!!HURA cały dzień poszedł się jeb....ć ale działa :)

Wielkie dzięki za pomoc, pozdrawiam
Avatar użytkownika
oneiro
Homos antropiczny
Homos antropiczny
 
Posty: 96
Dołączył(a): niedziela, 17 czerwca 2012, 23:19
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: C++ Builder v6
Gadu Gadu: 0
    Windows XPChrome

Re: Długość kodu edytora

Nowy postprzez Cyfrowy Baron » poniedziałek, 28 października 2013, 10:24

W odpowiedzi na post polimorphism:

Cyfrowy Baron napisał(a):Przeoczyłem. :oops:




oneiro napisał(a):wygląda na to, że w Update 3 (który mam) jest błąd


Jest cała masa błędów, które uniemożliwiają praktycznie stworzenie bardziej złożonej aplikacji.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: Długość kodu edytora

Nowy postprzez oneiro » piątek, 1 listopada 2013, 23:26

Udało mi się zainstalować XE4 (moim zdaniem jest w samym instalatorze błąd jeśli chodzi o rozmiar miejsca na dysku i instalowane w innej lokalizacji niż domyślnie wskazanej, ale nie o tym) oraz przenieść kod. Prawie wszytko działa.

Zatrzymałem się na komunikacie:

---------------------------
Bład w module EkstraCalkRozn
---------------------------
Zadany minimalny błąd iteracji w klasie TEkstrapolacjaIterowana jest niemożliwy do osiągnięcia gdyż krok całkowania/różniczkowania stał się mniejszy od błędu maszynowego
---------------------------
OK
---------------------------



Kod jest z książki "Metody numeryczne w C++Builder" z 2004 roku. Fajnie śmigało w BCB6, w nowym środowisku XE4 niestety nie do końca (coś liczy, ale nie wiem czy dobrze).
Jeśli ktoś jest zainteresowany rozwiązaniem problemu mogę podesłać źródła tych bibliotek, nie mniej powstały dwa pytania:
a) Czy dokładność zmiennych w XE4 w stosunku do BCB6 się zmieniła? Jeśli tak, czy można to jakoś cofnąć, aby chodziło po staremu (bo chyba to jest przyczyną?)
b) Nie wiem czy warto korzystać z tych metod (wcześniej się sprawdzały, teraz chyba nie) - czy do obliczenia całek znacie jakieś niezawodne i dobre (a najlepiej darmowe) biblioteki, które można wykorzystać ?

PS. Dodam, że obliczenia są na tych samych danych co w BCB6

Pozdrawiam, Krzysiek
Avatar użytkownika
oneiro
Homos antropiczny
Homos antropiczny
 
Posty: 96
Dołączył(a): niedziela, 17 czerwca 2012, 23:19
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: C++ Builder v6
Gadu Gadu: 0
    Windows XPChrome

Re: Długość kodu edytora

Nowy postprzez polymorphism » sobota, 2 listopada 2013, 10:23

Czy dokładność zmiennych w XE4 w stosunku do BCB6 się zmieniła?

Zależy jakiego typu są to zmienne. Na x86 float to typ o pojedynczej precyzji, double - podwójnej, long double - rozszerzonej (80 bitów). Jedynie przy ostatnim typie mógłby wystąpić problem, ale z tego o pamiętam, CB od początku obsługiwał typ o rozszerzonej precyzji (chyba miał nawet alias odziedziczony po Delphi - Extended).

Po chwili...

W dokumentacji wyczytałem, że typ Extended/long double na platformie 64-bitowej został zredukowany do podwójnej precyzji, czyli to to samo co typ double. Nie wiem, czy to ma jakiś związek z Twoim problemem, ale warto wziąć to pod uwagę.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Długość kodu edytora

Nowy postprzez oneiro » sobota, 2 listopada 2013, 16:11

Kombinowałem na różne sposoby, nie mogę sobie poradzić :evil:
Jakby ktoś miał chwilę czasu i rzucił okiem na przykład z książki (takie same rozwiązanie obiektowe zastosowałem u siebie).

Jeden bez problemu skompilowany w BCB6
Drugi nie udanie w XE4

Int.zip
Avatar użytkownika
oneiro
Homos antropiczny
Homos antropiczny
 
Posty: 96
Dołączył(a): niedziela, 17 czerwca 2012, 23:19
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: C++ Builder v6
Gadu Gadu: 0
    Windows XPChrome

Re: Długość kodu edytora

Nowy postprzez Cyfrowy Baron » sobota, 2 listopada 2013, 17:20

Nie mogłem skompilować Twojego programu z p;owodu braku biblioteki bss.bpi i bss.lib. Ale:

KOD cpp:     UKRYJ  
class KomunikatAbstrakcyjny {
 public :
   virtual void WypiszKomunikat(const char* komunikat,const char* zrodloKomunikatu)=0;
};


ale tutaj już WpiszKomunikat ma argumenty innego typu:

KOD cpp:     UKRYJ  
class KomunikatBorlandC : KomunikatAbstrakcyjny
{
 public :
  void WypiszKomunikat(const wchar_t* komunikat , const wchar_t* zrodloKomunikatu)
  {
        Application->MessageBox(String(komunikat).c_str(),
                                           String(zrodloKomunikatu).c_str(),MB_OK);
  }
};
To musi prowadzić do błędów.

Kolejna sprawa. Otwórz plik ProjCalkowanie1.cpp i zmień wpisy na:

KOD cpp:     UKRYJ  
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
        try
        {
                Application->Initialize();
                Application->MainFormOnTaskBar = true;
                Application->CreateForm(__classid(TForm1), &Form1);
                Application->Run();
        }
        catch (Exception &exception)
        {
                Application->ShowException(&exception);
        }
        catch (...)
        {
                try
                {
                        throw Exception("");
                }
                catch (Exception &exception)
                {
                        Application->ShowException(&exception);
                }
        }
        return 0;
}


Ustaw w opcjach projektu mapowanie na wchar_t. Najlepiej byłoby jednak stworzyć nowy projekt i przepisać, choć ja swego czasu przekonwertowałem dość duży projekt z BCB 2006 na XE2 i udało się, aczkolwiek wymagało to dużo pracy.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: Długość kodu edytora

Nowy postprzez oneiro » sobota, 2 listopada 2013, 18:24

Dzięki, ale i tak coś jest na rzeczy jeśli chodzi o dokładności obliczeń.

Wywołuje taką funkcję na zmiennych double (próbowałem z extended, to samo).
W pliku Unit1.cpp mam taki wywowałnie:
KOD cpp:     UKRYJ  
     double MetodaRombergaSimpsonaCalka_ds2(void)
          { MetodaSimpsona(&dlugosc_cos,Param.granica_dolna,Param.granica_gorna,Param.h0,Param.iloraz,epsx,Param.ilosc_iteracji_ekstrapolacji) ;
        return MetodaSimpsona.MetodaRombergaSimpsona();}

eps=1e-10 - zadana dokładność obliczeń
max ilość iteracji = 50
h0 - początkowy krok w iteracji
a=0 - dolna granica
b=1e-1000 - BCB6 chodziło - górna granica
b=1e-10 XE4 dopiero chodzi (tj z 1e-1000 też chodzi, ale wywala błąd 2 wiadomości wyżej) - górna granica

długosc_cos - wzór na długość odcinka, który chcę całkować

KOD cpp:     UKRYJ  
template <class  Typ, class TypFun>
void TCalkowanie<Typ,TypFun>::operator()(TypFun F,Typ a,Typ b,Typ h0,Typ q,Typ eps, int maxit)
{
  Fh0=h0; Fq=q;   Feps=eps;  Fmaxit=maxit;
  FJestOsiagnietePrzyblizenie=false;
  //Wyznacz błąd Maszynowy
  Typ x;  Fepsm=1;
  do
  {
    Fepsm=Fepsm/2;   x=Fepsm+1;
  } while (x>1) ;
  FA26=26.0*Fepsm;
  Fa=a; Fb=b;
  FTypWzoruCalkowego=0;
  Fun=F;
}
 


Swoją drogą nie rozumiem, jak jest obliczana dokładność maszynowa Fepsm? Nie mniej to przechodzi, a wywala się tutaj:

KOD cpp:     UKRYJ  
//Metoda do ekstrapolacji procesu F(h) dla długości kroku h
//zmierzającego do zera dla znanej struktury wzoru na bład obcięcia
//F(h)-F(0) = a1*(h)^2+ a2*(h)^4+...gdzie współczyniki a1,a2,...
//w kolejnych krokach iteracji Richardsona są rugowane  wzór (3.7)
//p - początkowa potęga ekstrapolacji jest parzysta np.  2,4,..
template <class  Typ>
int TEkstrapolacjaIterowana<Typ>::EkstrapolacjaRichardsonaPotParzyste(int p)
{
  int m,k,blad;
  Typ h,qp2k,epsx,pk,hm,a1,a2;
  bool CzyZaMalyKrok;
  InicjacjaMacierzy(FA,1,1);
  h=FF(Fh0);
  FA[0][0]=h;  FA[0][1]=0;
  m=0;    h=Fh0;  FF0=0;
  if (Fq>1)
  {
    do
    {
       m++;
       h/=Fq;
       InicjacjaMacierzy(FA,m,m);
       hm=FF(h);
       FA[m][0]=hm ;   FA[m-1][m]=0;
       k=0;
       do
       {
         k++;
         pk=2.0*(k-1)+p;
         qp2k=powl(Fq,pk);
         FA[m][k]=FA[m][k-1]+(FA[m][k-1]-FA[m-1][k-1])/(qp2k-1);
               a1=FA[m][k];   a2=FA[m-1][k];
               epsx=absy(a1-a2) ;
               FJestOsiagnietePrzyblizenie=epsx<Feps;
        } while (!(k==m || FJestOsiagnietePrzyblizenie ));
        if (FJestOsiagnietePrzyblizenie)
        {
           pk=2.0*(k+1);
           qp2k=powl(Fq,pk);
           FF0=FA[m][k]+(FA[m][k]-FA[m-1][k])/(qp2k-1) ;
         }
         CzyZaMalyKrok=h<Fepsm ;
   } while (!(CzyZaMalyKrok || FJestOsiagnietePrzyblizenie ||(m>Fmaxit)));
   if (CzyZaMalyKrok) return 2;
       else if (m>Fmaxit) return 4; else return 0;
 } else  return 1;
}//EkstrapolacjaRichardsonaPotParzyste


Konkrtenie jest spełnioy warunek:
KOD cpp:     UKRYJ  
CzyZaMalyKrok=h<Fepsm ;


XE4=BCB6 Fepsm=~ 1.11e-16

Czyli krok h schodzi poniżej dokładności maszynowej - tylko, że w BCB6 nigdy takich przypadków nie było.




W sumie zmniejszyłem Param.granica_gorna z 1e-1000 na 1e-10 i poszło. Teraz się zastanawiam, czy dlaczego mi działało w BCB6, skoro ustawiłem bład esp=1e-10 to czemu powyżej takiej dokładności znajdywało? Teraz wydaje się się mieć ręce i nogi.
Avatar użytkownika
oneiro
Homos antropiczny
Homos antropiczny
 
Posty: 96
Dołączył(a): niedziela, 17 czerwca 2012, 23:19
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: C++ Builder v6
Gadu Gadu: 0
    Windows XPChrome

Re: Długość kodu edytora

Nowy postprzez Cyfrowy Baron » sobota, 2 listopada 2013, 19:45

Nie znam środowiska XE4, używam XE2. Wiem skądinąd, że XE4 jest dziurawe jak sito, więc błędy są możliwe. Czy potrzebowałeś XE4? Czy nie lepiej było zatrzymać się na sprawdzonym i połatanym XE2?
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: Długość kodu edytora

Nowy postprzez polymorphism » sobota, 2 listopada 2013, 19:49

Swoją drogą nie rozumiem, jak jest obliczana dokładność maszynowa Fepsm?

Wartość 1 dzielona jest przez dwa w celu znalezienia najmniejszej wartości, która spełnia warunek 1 + Fepsm > 1. Wartości mniejsze od Fepsm dadzą w wyniku 1, czyli są bezużyteczne.

W sumie nie wiem, po co to liczenie w pętli, jeśli jest szablon numeric_limits:
KOD cpp:     UKRYJ  
std::numeric_limits<double>::epsilon()


p.s. porównaj słowo kontrolne FPU (Get8087CW) z obu wersji programu.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Długość kodu edytora

Nowy postprzez oneiro » sobota, 2 listopada 2013, 20:33

Hehehe, dlaczego XE4? Miałem XE2, ale update 3, nie mogłem znaleźć update 4, legalnie nie da się ściągnąć samego update z poniższej strony:
http://docwiki.embarcadero.com/RADStudio/XE2/en/Release_Notes_for_XE2_Update_4

Dlatego poszło na XE4. Kurcze, ale skoro twierdzicie, że jest dziurawy, to chyba poszukam sobie XE2 Update 4...

XE4
KOD cpp:     UKRYJ  
Word we;
we = Get8087CW();  //we=4991

BCB6
KOD cpp:     UKRYJ  
Word we;
we = Get8087CW();  //we=4991



PS. Co do działania Fepsm - kod rozumiem, ale sensu nie czaiłem, tera już tak - no jasne, jeśli operacja nic nie wnosi to zostaje jeden. Pytanie, dlaczego nie sprawdzali tego względem 0 lub jakiejś innej liczy (już pomijam fakt, że jest metoda zaproponowana przez Ciebie).
Avatar użytkownika
oneiro
Homos antropiczny
Homos antropiczny
 
Posty: 96
Dołączył(a): niedziela, 17 czerwca 2012, 23:19
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: C++ Builder v6
Gadu Gadu: 0
    Windows XPChrome

Poprzednia strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 2 gości

cron