CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Przenoszenie projektu

Przenoszenie projektu

dział ogólny

Przenoszenie projektu

Nowy postprzez Przemyslav » piątek, 3 marca 2017, 22:49

Witam serdecznie wszystkich ;) Mam do was takie zapytanie: czy jest jakiś sposób na przenisienie projektu z BCB 6.0 do BCB Starter Edition 10.1. Czy jest możliwa konwersja.

Mój kod nie jest skomplikowany np:

KOD cpp:     UKRYJ  
        if (x == 1)
        {
                String sFileName = ExtractFilePath(ParamStr(0)) + "dat\\logomapa1.jpg";

                if(!FileExists)
                {
                        Application->MessageBox(("Nie odnaleziono pliku '" + ExtractFilePath(ParamStr(0)) + "dat\\logomapa1.jpg'!").c_str(), "Uwaga! Brak pliku", MB_OK | MB_ICONSTOP);
                        return;
                }
                logomapa->Picture->LoadFromFile(sFileName);
        }


KOD cpp:     UKRYJ  
        if ((ComboBox3->Text == "DK74") && (RadioGroup1->Items->Strings[RadioGroup1->ItemIndex] == "84,610 - 90,057 km (DK74j)"))
        {
                ScrollBox1->VertScrollBar->Position = (ScrollBox1->VertScrollBar->Range - ScrollBox1->Height) / 2;
                ScrollBox1->HorzScrollBar->Position = (ScrollBox1->HorzScrollBar->Range - ScrollBox1->Width) / 2;
                ScrollBox1->VertScrollBar->Position = ScrollBox1->VertScrollBar->Position - 400;
                ScrollBox1->HorzScrollBar->Position = ScrollBox1->HorzScrollBar->Position + 400;
        }

KOD cpp:     UKRYJ  
        TStringList *Lista = new TStringList;
        if(!FileExists("dat\\adr2.dat"))
        {
                Application->MessageBox(("Nie odnaleziono pliku '" + ExtractFilePath(ParamStr(0)) + "dat\\adr2.dat'!").c_str(), "Uwaga! Brak pliku", MB_OK | MB_ICONSTOP);
                delete Lista;
                return;
        }

        Lista->LoadFromFile("dat\\adr2.dat");

        // w tym wypadku znajdujemy średnik jako el. oddzielający dane i wybieramy dane do wyświetlenia, znajdujące się po średniku
        String tekst = Lista->Strings[ComboBox7->ItemIndex];
        int x = tekst.Pos(";");

        Memo4->Clear();
        Memo4->Lines->Append(tekst.SubString(x + 1, tekst.Length()).Trim());

        delete Lista; // kasowanie obiektu Lista

        wyczysc4->Enabled = true;


itd...
Avatar użytkownika
Przemyslav
Bladawiec
Bladawiec
 
Posty: 42
Dołączył(a): niedziela, 25 maja 2014, 13:59
Podziękował : 22
Otrzymał podziękowań: 0
System operacyjny: Windows 10 x64
Kompilator: C++ Builder 6
Gadu Gadu: 0
    WindowsFirefox

Re: Przenoszenie projektu

Nowy postprzez Cyfrowy Baron » sobota, 4 marca 2017, 00:01

Nie. Musisz wszystko przepisać. W nowym środowisku typem domyślnym jest UnicodeString, więc trzeba stosować odpowiednie metody, dla przykładu ten fragment kodu:

KOD cpp:     UKRYJ  
Application->MessageBox(("Nie odnaleziono pliku '" + ExtractFilePath(ParamStr(0)) + "dat\\adr2.dat'!").c_str(), "Uwaga! Brak pliku", MB_OK | MB_ICONSTOP);


w nowym środowisku musi być zapisany tak:

KOD cpp:     UKRYJ  
Application->MessageBox( ( L"Nie odnaleziono pliku '" + ExtractFilePath( ParamStr(0) ) + L"dat\\adr2.dat'!").c_str(), L"Uwaga! Brak pliku", MB_OK | MB_ICONSTOP );


Zmian jest oczywiście o wiele więcej. W samym pliku projektu kod mocno się zmienił. Poza tym projekt w BCB6 pewnie odwołuje się do bibliotek, które bardzo się zmieniły lub wręcz ich nie ma w nowym środowisku.
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: Przenoszenie projektu

Nowy postprzez Przemyslav » sobota, 4 marca 2017, 00:05

Właśnie utworzyłem nowy projekt, podmieniłem pliki i patrzę i usuwam errory dla testu, czy się skompiluje:

Obrazek

Dziękuję za informację. Jak coś będę się podpytywał, gdyż kod nie jest skomplikowany :)
Avatar użytkownika
Przemyslav
Bladawiec
Bladawiec
 
Posty: 42
Dołączył(a): niedziela, 25 maja 2014, 13:59
Podziękował : 22
Otrzymał podziękowań: 0
System operacyjny: Windows 10 x64
Kompilator: C++ Builder 6
Gadu Gadu: 0
    WindowsFirefox

Re: Przenoszenie projektu

Nowy postprzez Przemyslav » sobota, 4 marca 2017, 00:50

Doszedłem do momentu takich błędów:

KOD cpp:     UKRYJ  
[ilink32 Error] Error: Unresolved external 'wWinMain' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\18.0\LIB\WIN32\RELEASE\C0W32W.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TShellFavoritesNameSpace::BeforeDestruction()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TShellFavoritesNameSpace::InitServerData()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TShellFavoritesNameSpace::InvokeEvent(int, System::DynamicArray<System::OleVariant>&)' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TShellFavoritesNameSpace::Connect()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TShellFavoritesNameSpace::Disconnect()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppShellUIHelper::BeforeDestruction()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppShellUIHelper::InitServerData()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppShellUIHelper::Connect()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppShellUIHelper::Disconnect()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppShellWindows::BeforeDestruction()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppShellWindows::InitServerData()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppShellWindows::InvokeEvent(int, System::DynamicArray<System::OleVariant>&)' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppShellWindows::Connect()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppShellWindows::Disconnect()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TInternetExplorerMedium::BeforeDestruction()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TInternetExplorerMedium::InitServerData()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TInternetExplorerMedium::InvokeEvent(int, System::DynamicArray<System::OleVariant>&)' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TInternetExplorerMedium::Connect()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TInternetExplorerMedium::Disconnect()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppInternetExplorer::BeforeDestruction()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppInternetExplorer::InitServerData()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppInternetExplorer::InvokeEvent(int, System::DynamicArray<System::OleVariant>&)' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppInternetExplorer::Connect()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppInternetExplorer::Disconnect()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall Shdocvw_tlb::TCppWebBrowser::InitControlData()' referenced from C:\USERS\PCISZ\DESKTOP\NOWY FOLDER — KOPIA\WIN32\RELEASE\UNIT1.OBJ


Jak tego dziadostwa się pozbyć? ;)
Avatar użytkownika
Przemyslav
Bladawiec
Bladawiec
 
Posty: 42
Dołączył(a): niedziela, 25 maja 2014, 13:59
Podziękował : 22
Otrzymał podziękowań: 0
System operacyjny: Windows 10 x64
Kompilator: C++ Builder 6
Gadu Gadu: 0
    WindowsFirefox

Re: Przenoszenie projektu

Nowy postprzez Cyfrowy Baron » sobota, 4 marca 2017, 12:06

Przemyslav napisał(a):Jak tego dziadostwa się pozbyć


Przepisać projekt, a nie podmieniać pliki. Przecież wyraźnie napisałem, że tak się nie uda. Swego czasu przechodziłem z wersji 2006 na XE2 i również próbowałem podmiany - bez efektu, a 2006 to nowsza wersja od 6. Koniec końców musiałem przepisać cały projekt.
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: Przenoszenie projektu

Nowy postprzez Przemyslav » niedziela, 5 marca 2017, 11:04

Dziękuję serdecznie za informację.
Avatar użytkownika
Przemyslav
Bladawiec
Bladawiec
 
Posty: 42
Dołączył(a): niedziela, 25 maja 2014, 13:59
Podziękował : 22
Otrzymał podziękowań: 0
System operacyjny: Windows 10 x64
Kompilator: C++ Builder 6
Gadu Gadu: 0
    WindowsFirefox


  • 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 41 gości

cron