저는 Embarcadero C++의 초보자입니다. 내 응용 프로그램이 Embarcadero C++로 개발되어 클라이언트 컴퓨터에 설치되어 있다면 새 응용 프로그램을 사용할 수 있는지 사용자에게 응용 프로그램에 알리는 방법은 무엇입니까? 사용자가 예 버튼을 클릭하면 응용 프로그램을 다운로드 한 다음 설치합니다.Embarcadero C++ : 새로운 업데이트를 사용할 수 있는지 사용자에게 알리는 방법?
아무도 아이디어가 있으면 알려주십시오.
저는 Embarcadero C++의 초보자입니다. 내 응용 프로그램이 Embarcadero C++로 개발되어 클라이언트 컴퓨터에 설치되어 있다면 새 응용 프로그램을 사용할 수 있는지 사용자에게 응용 프로그램에 알리는 방법은 무엇입니까? 사용자가 예 버튼을 클릭하면 응용 프로그램을 다운로드 한 다음 설치합니다.Embarcadero C++ : 새로운 업데이트를 사용할 수 있는지 사용자에게 알리는 방법?
아무도 아이디어가 있으면 알려주십시오.
Indy Client 구성 요소 TIdHTTP을 사용하여 새 버전의 프로그램을 서버에서 사용할 수 있는지 확인하는 방법은 다음과 같습니다.
애플리케이션의 새 버전을 업로드했다고 가정 해 보겠습니다. 설치 또는 응용 프로그램이 포함 된 zip 파일 외에 빌드 값 (정수), 구분 기호 (;) 및 선택적으로 다른 데이터 (버전 번호, 프로그램 이름 등)가 포함 된 한 줄 텍스트 파일 (applicationBuildData.txt)을 업로드하십시오. 예 :
20170215; ProgamName rel. 1.2.
이 파일은 applicationBuildData.txt 파일의 유일한 행입니다. 다음 코드 샘플입니다 (I 내 원래의 코드를 약간 수정 한) :이 예에서는
void __fastcall TfrmDialog::Button1Click(TObject *Sender)
{
TIdHTTP *IdHTTP1 = new TIdHTTP(this);
// let's say this is current app build (on user's side)
int currAppBuild = 20170101;
int prodBuildNew = 0;
UnicodeString prodVersionNew;
UnicodeString version_str;
try {
// get content of applicationBuildData.txt into string
version_str = IdHTTP1->Get("http://www.your-site.com/applicationBuildData.txt");
prodBuildNew = StrToInt(version_str.SubString(1, version_str.Pos(";") - 1).Trim());
prodVersionNew = version_str.SubString(version_str.Pos(";") + 1, 100).Trim();
}
catch (...)
{
prodBuildNew = 0;
prodVersionNew = "???";
}
if (prodBuildNew == 0) {
// ...faild to get data from server...
// display message
}
else if (prodBuildNew > currAppBuild) {
// new version is available
// display message
}
else {
// application version is up to date
// display message
}
delete IdHTTP1;
}
을, 현재 빌드 번호는 작은 다음 빌드 번호를 업로드하고 새로운 버전을 사용할 사용자를 표시합니다.
참고 : currAppBuild는 대개 일부 글로벌 상수이거나 빌드 버전을 나타내는 전역 변수입니다. 서버의 새 버전이 검색되면 설치/압축 파일을 다운로드하거나 메시지를 표시하고 사용자가 사이트로 이동하여 새 버전을 수동으로 다운로드하도록 할 수 있습니다.
편집 : TIdHTTP 구성 요소를 사용하여 로컬 디스크에 파일을 다운로드하는 방법은 다음 비디오를 확인하십시오
[이 질문 (http://stackoverflow.com/questions/277514/delphi-how-do-you-you-auto-update-your-applications)가 도움이 될 수 있습니다. –
나에게 어떤 참고 문헌이나 ... clickonce처럼 이것을 달성하는 데 도움이되는 구성 요소를 제공 해주시기 바랍니다. Embarcadero에 대해 많이 알지 못합니다. –