Auto-Vervollständigung



  • Dann zeig mal bitte den betreffenden Code-Abschnitt (aber auch bitte einen Teil darüber). Evtl hast du ja doch etwas falsch gemacht, was der Compiler aber als richtig ansieht?! (Gibts das überhaupt? :D)



  • such nach dem Kommentar "nach dieser Zeile" ab da spinnt die Vervollständigung.

    Danke im Voraus für deine Mühen 🙂

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "SDE61.h"
    
    #include "JobEdWin.h"
    #include "MainWin.h"
    #include "JobsWin.h"
    #include "Tools.h"
    #include "ScriptEdWin.h"
    
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TfrmJobEd *frmJobEd;
    //---------------------------------------------------------------------------
    __fastcall TfrmJobEd::TfrmJobEd(TComponent* Owner)
       : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TfrmJobEd::btnSaveFTPClick(TObject *Sender)
    {
       int iRet;
    
       int iSelVal = frmJobs->lstJobs->ItemIndex;// -1 is not selected or add new entry
    
       if(edtJobName->Text.Trim()==""){
          String sMsg = "Jobname darf nicht leer sein";
          MessageBox(0, sMsg.c_str(), "Info", MB_OK+MB_ICONINFORMATION);
          return;
       }
    
       if(iSelVal == -1){
           if(edtJobName->Text.Trim() == "" || sx_Seek(edtJobName->Text.Trim().c_str())){
               String sMsg = "Jobname bereits vergeben";
               MessageBox(0, sMsg.c_str(), "Info", MB_OK+MB_ICONINFORMATION);
               return;
           }
    
           iRet = sx_AppendBlankEx();
           if(iRet > -1){
              String sMsg = "Fehler beim anlegen des Datensatzes\nbitte versuchen Sie das speichern erneut";
              MessageBox(0, sMsg.c_str(), "Ausnahmefehler", MB_OK+MB_ICONWARNING);
              return;
           }
           String sTimestamp = Timestamp("%Y%m%d%H%M%S", 15);
           randomize();
           String sPKey = sTimestamp + IntToStr(random(999));
    
           sx_Replace("PKEY", R_CHAR, sPKey.c_str());
       }else{
           if(sx_Bof() || sx_Eof()){
              if(edtJobName->Text.Trim() == "" || sx_Seek(edtJobName->Text.Trim().c_str())==false){
                 String sMsg = "Fehler beim setzen des Datensatzpointers,\nbitte versuchen Sie das speichern erneut";
                 MessageBox(0, sMsg.c_str(), "Ausnahmefehler", MB_OK+MB_ICONWARNING);
                 return;
              }
           }
           if(sx_Rlock(sx_RecNo())==false){
              String sMsg = "Fehler beim sperren des Datensatzes,\nbitte versuchen Sie das speichern erneut";
              MessageBox(0, sMsg.c_str(), "Ausnahmefehler", MB_OK+MB_ICONWARNING);
              return;
           }
       }
    
       int iIndex;
       long iVal;
       bool bChecked;
       String sText;
       //Tab 1
       sx_Replace("JNAME", R_CHAR, edtJobName->Text.c_str());
       sx_Replace("SERVER", R_CHAR, edtServer->Text.c_str());
       iVal = StrToInt(edtPort->Text);
       sx_Replace("PORT", R_LONG, &iVal);
       iVal = StrToInt(edtTimeout->Text);
       sx_Replace("TIMEOUT", R_LONG, &iVal);
       sx_Replace("USER", R_CHAR, edtUser->Text.c_str());
       sx_Replace("PW", R_CHAR, edtPw->Text.c_str());
       sx_Replace("locfolder", R_CHAR, FixWinPath(edtLocalFolder->Text).c_str());
       sx_Replace("remfolder", R_CHAR, FixWinPath(edtRemoteFolder->Text).c_str());
       //Tab2
       bChecked = chkPassive->Checked;
       sx_Replace("PASSIVE", R_LOGICAL, (void*)&bChecked);
       bChecked = chkProxy->Checked;
       sx_Replace("PUSE", R_LOGICAL, (void*)&bChecked);
       iIndex = cboPType->ItemIndex;
       sx_Replace("PTYPE", R_LONG, (void*)&iIndex);
       sx_Replace("PROXY", R_CHAR, edtProxy->Text.c_str());
       iVal = StrToInt(edtPPort->Text);
       sx_Replace("PPORT", R_LONG, &iVal);
       sx_Replace("PUSER", R_CHAR, edtPUser->Text.c_str());
       sx_Replace("PPW", R_CHAR, edtPPw->Text.c_str());
       //Tab 3
       bChecked = chkDownload->Checked;
       sx_Replace("DL", R_LOGICAL, (void*)&bChecked);
       sText = txtDLFiles->Text.Trim();
       if(sText.SubString(sText.Length(),1) == ";"){
         sText = sText.SubString(0,sText.Length()-1);
       }
       sx_Replace("DLFILES", R_MEMO, sText.c_str());
       iIndex = cboDLMode->ItemIndex;
       sx_Replace("DLMODE", R_LONG, (void*)&iIndex);
       bChecked = chkDLRemFiles->Checked;
       sx_Replace("DLREMFILES", R_LOGICAL, (void*)&bChecked);
       iVal = StrToInt(edtRecvBufferSize->Text);
       sx_Replace("RECVBSIZE", R_LONG, &iVal);
       bChecked = chkDLLSS->Checked;
       sx_Replace("DLLSS", R_LOGICAL, (void*)&bChecked);
       sx_Replace("DLLSSTXT", R_MEMO, this->m_DLLSSTXT.c_str());
       bChecked = chkDLLSE->Checked;
       sx_Replace("DLLSE", R_LOGICAL, (void*)&bChecked);
       sx_Replace("DLLSETXT", R_MEMO, this->m_DLLSETXT.c_str());
       //Tab 4
       bChecked = chkUpload->Checked;
       sx_Replace("UL", R_LOGICAL, (void*)&bChecked);
       sText = txtULFiles->Text.Trim();
       if(sText.SubString(sText.Length(),1) == ";"){
         sText = sText.SubString(0,sText.Length()-1);
       }
       sx_Replace("ULFILES", R_MEMO, sText.c_str());
       iIndex = cboULMode->ItemIndex;
       sx_Replace("ULMODE", R_LONG, (void*)&iIndex);
       bChecked = chkULRemFiles->Checked;
       sx_Replace("ULREMFILES", R_LOGICAL, (void*)&bChecked);
       iVal = StrToInt(edtSendBufferSize->Text);
       sx_Replace("SENDBSIZE", R_LONG, &iVal);
       bChecked = chkULLSS->Checked;
       sx_Replace("ULLSS", R_LOGICAL, (void*)&bChecked);
       sx_Replace("ULLSSTXT", R_MEMO, this->m_ULLSSTXT.c_str());
       bChecked = chkULLSE->Checked;
       sx_Replace("ULLSE", R_LOGICAL, (void*)&bChecked);
       sx_Replace("ULLSETXT", R_MEMO, this->m_ULLSETXT.c_str());
    
       sx_Commit();
       sx_Unlock(sx_RecNo());
       this->Close();
    }
    
    void __fastcall TfrmJobEd::FormShow(TObject *Sender)
    {
       int iSelVal = frmJobs->lstJobs->ItemIndex;// -1 is not selected or add new entry
    
       pgcJobEd->ActivePageIndex = 0;
    
       //Tab 1
       edtJobName->MaxLength          = sx_FieldWidth("JNAME");
       edtServer->MaxLength           = sx_FieldWidth("SERVER");
       edtPort->MaxLength             = sx_FieldWidth("PORT");
       edtTimeout->MaxLength          = sx_FieldWidth("TIMEOUT");
       edtUser->MaxLength             = sx_FieldWidth("USER");
       edtPw->MaxLength               = sx_FieldWidth("PW");
       edtLocalFolder->MaxLength      = sx_FieldWidth("LOCFOLDER");
       edtRemoteFolder->MaxLength     = sx_FieldWidth("REMFOLDER");
    
       //Tab 2
       cboPType->Clear();
       cboPType->AddItem("None",0);
       cboPType->AddItem("User Site",0);
       cboPType->AddItem("Site",0);
       cboPType->AddItem("Open",0);
       cboPType->AddItem("User Pass",0);
       cboPType->AddItem("Transparent",0);
       cboPType->AddItem("HttpProxyWithFtp",0);
       cboPType->ItemIndex = 0;
    
       edtProxy->MaxLength            = sx_FieldWidth("PROXY");
       edtPPort->MaxLength            = sx_FieldWidth("PPORT");
       edtPUser->MaxLength           = sx_FieldWidth("PUSER");
       edtPPw->MaxLength             = sx_FieldWidth("PPW");
    
       //Tab 3
       cboDLMode->Clear();
       cboDLMode->AddItem("ASCII",0);
       cboDLMode->AddItem("BINARY",0);
       cboDLMode->ItemIndex = 0;
       edtRecvBufferSize->MaxLength  = sx_FieldWidth("RECVBSIZE");
    
       //Tab 4
       cboULMode->Clear();
       cboULMode->AddItem("ASCII",0);
       cboULMode->AddItem("BINARY",0);
       cboULMode->ItemIndex = 0;
       edtSendBufferSize->MaxLength  = sx_FieldWidth("SENDBSIZE");
    
       if(iSelVal == -1){
         chkPassive->Checked = false;
         chkProxy->Checked = false;
         chkDownload->Checked = false;
         chkDLRemFiles->Checked = true;
         chkUpload->Checked = false;
         chkULRemFiles->Checked = true;
         chkDLLSS->Checked = false;
         chkDLLSE->Checked = false;
         chkULLSS->Checked = false;
         chkULLSE->Checked = false;
    
         for(int i = 0; i < tabFTP->ControlCount; i++){
           if(tabFTP->Controls[i]->ClassNameIs("TEdit")){
              dynamic_cast<TEdit*>(tabFTP->Controls[i])->Text = "";
           }
         }
         for(int i = 0; i < tabProxy->ControlCount; i++){
           if(tabProxy->Controls[i]->ClassNameIs("TEdit")){
              dynamic_cast<TEdit*>(tabProxy->Controls[i])->Text = "";
           }
         }
         for(int i = 0; i < tabDownload->ControlCount; i++){
           if(tabDownload->Controls[i]->ClassNameIs("TMemo")){
              dynamic_cast<TMemo*>(tabDownload->Controls[i])->Text = "";
           }
         }
         for(int i = 0; i < tabUpload->ControlCount; i++){
           if(tabUpload->Controls[i]->ClassNameIs("TMemo")){
              dynamic_cast<TMemo*>(tabUpload->Controls[i])->Text = "";
           }
         }
    
         edtPort->Text = "21";
         edtTimeout->Text = "5000";
         edtPPort->Text = "21";
         edtRecvBufferSize->Text = "32768";
         edtSendBufferSize->Text = "32768";
    
       }
       else if(iSelVal > -1){
         String sSelVal = frmJobs->lstJobs->Items->Strings[iSelVal];
         int iPos = sSelVal.Pos(":");
         sSelVal = sSelVal.SubString(iPos+1,sSelVal.Length());
         sSelVal = sSelVal.Trim();
         sx_Select(sx_WorkArea("JOBS"));
         sx_SetOrder(sx_TagArea("JNAME"));
         if(sSelVal == "" || sx_Seek(sSelVal.c_str())){
            // Tab 1
            edtJobName->Text          = (char*)sx_GetTrimString("JNAME");
            edtServer->Text           = (char*)sx_GetTrimString("SERVER");
            edtPort->Text             = IntToStr(sx_GetLong("PORT"));
            edtTimeout->Text          = IntToStr(sx_GetLong("TIMEOUT"));
            edtUser->Text             = (char*)sx_GetTrimString("USER");
            edtPw->Text               = (char*)sx_GetTrimString("PW");
            edtLocalFolder->Text      = (char*)sx_GetTrimString("LOCFOLDER");
            edtRemoteFolder->Text     = (char*)sx_GetTrimString("REMFOLDER");
    
            //Tab 2
            chkPassive->Checked       = (bool)sx_GetLogical("PASSIVE");
            chkProxy->Checked         = (bool)sx_GetLogical("PUSE");
            cboPType->ItemIndex       = sx_GetLong("PTYPE");
            edtProxy->Text            = (char*)sx_GetTrimString("PROXY");
            edtPPort->Text            = IntToStr(sx_GetLong("PPORT"));
            edtPUser->Text            = (char*)sx_GetTrimString("PUSER");
            edtPPw->Text              = (char*)sx_GetTrimString("PPW");
    
            //Tab 3
            chkDownload->Checked      = (bool)sx_GetLogical("DL");
            txtDLFiles->Text          = (char*)sx_GetMemo("DLFILES",0);
            cboDLMode->ItemIndex      = sx_GetLong("DLMODE");
            chkDLRemFiles->Checked    = (bool)sx_GetLogical("DLREMFILES");
            edtRecvBufferSize->Text   = sx_GetLong("RECVBSIZE");
            chkDLLSS->Checked         = (bool)sx_GetLogical("DLLSS");
            this->m_DLLSSTXT          = (char*)sx_GetMemo("DLLSSTXT",0);
            chkDLLSE->Checked         = (bool)sx_GetLogical("DLLSE");
            this->m_DLLSETXT          = (char*)sx_GetMemo("DLLSETXT",0);
    
            //Tab 4
            chkUpload->Checked        = (bool)sx_GetLogical("UL");
            txtULFiles->Text          = (char*)sx_GetMemo("ULFILES",0);
            cboULMode->ItemIndex      = sx_GetLong("ULMODE");
            chkULRemFiles->Checked    = (bool)sx_GetLogical("ULREMFILES");
            edtSendBufferSize->Text   = sx_GetLong("SENDBSIZE");
            chkULLSS->Checked         = (bool)sx_GetLogical("ULLSS");
            this->m_ULLSSTXT          = (char*)sx_GetMemo("ULLSSTXT",0);
            chkULLSE->Checked         = (bool)sx_GetLogical("ULLSE");
            this->m_ULLSETXT          = (char*)sx_GetMemo("ULLSETXT",0);
    
         }else{
            String sMsg = "Fehler beim lesen des Datensatzes";
            MessageBox(0, sMsg.c_str(), "Ausnahmefehler", MB_OK+MB_ICONWARNING);
            this->Close();
            return;
         }
       }
       this->EnableProxySetting();
       this->EnableDownloadSetting();
       this->EnableUploadSetting();
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TfrmJobEd::btnCancelFTPClick(TObject *Sender)
    {
     this->Close();
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TfrmJobEd::EnableProxySetting()
    {
       for(int i = 0; i < tabProxy->ControlCount; i++){
         if(  tabProxy->Controls[i]->InheritsFrom(__classid(TControl))
              && tabProxy->Controls[i]->ClassNameIs("TCheckBox") == false
              && tabProxy->Controls[i]->ClassNameIs("TBitBtn") == false  ){
            if(chkProxy->Checked){
              dynamic_cast<TControl*>(tabProxy->Controls[i])->Enabled = true;
            }else{
              dynamic_cast<TControl*>(tabProxy->Controls[i])->Enabled = false;
            }
         }
       }
    }
    void __fastcall TfrmJobEd::chkProxyClick(TObject *Sender)
    {
     this->EnableProxySetting();
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TfrmJobEd::btnTestConnectionFTPClick(TObject *Sender)
    {
     Screen->Cursor = crHourGlass;
    
     this->initFTPTest();
    
     sbrJobEd->Panels->Items[0]->Text = "verbinde zu "+edtServer->Text.Trim();
     this->DoFTPTest();
     sbrJobEd->Panels->Items[0]->Text = "";
    
     if(IdFTPTest->Connected()){
       IdFTPTest->Disconnect();
     }
    
     Screen->Cursor = crDefault;
    }
    
    //---------------------------------------------------------------------------
    
    void __fastcall TfrmJobEd::FormCreate(TObject *Sender)
    {
       this->Caption = frmMain->m_exeVerInfo->GetVerInfo(EXE_PRODUCT_NAME) +" "+ frmMain->m_exeVerInfo->GetVerInfo(EXE_PRODUCT_VERSION);
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TfrmJobEd::btnLocFolderClick(TObject *Sender)
    {
     char cBuffer[MAX_PATH];
     BrowseFolder(this->Handle, cBuffer, NULL);
     edtLocalFolder->Text = (String)cBuffer;
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TfrmJobEd::EnableDownloadSetting()
    {
       for(int i = 0; i < grpDLLS->ControlCount; i++){
         if(  grpDLLS->Controls[i]->InheritsFrom(__classid(TControl))  ){
            if(chkDownload->Checked){
              dynamic_cast<TControl*>(grpDLLS->Controls[i])->Enabled = true;
            }else{
              dynamic_cast<TControl*>(grpDLLS->Controls[i])->Enabled = false;
            }
         }
       }
       grpDLLS->Invalidate();
    
       for(int i = 0; i < tabDownload->ControlCount; i++){
         if(  tabDownload->Controls[i]->InheritsFrom(__classid(TControl))
              && tabDownload->Controls[i]->ClassNameIs("TBitBtn") == false  ){
            if(chkDownload->Checked){
              dynamic_cast<TControl*>(tabDownload->Controls[i])->Enabled = true;
            }else{
              if(tabDownload->Controls[i]->Name != "chkDownload"){
                dynamic_cast<TControl*>(tabDownload->Controls[i])->Enabled = false;
              }
            }
         }
       }
    }
    //---------------------------------------------------------------------------
    void __fastcall TfrmJobEd::chkDownloadClick(TObject *Sender)
    {
       this->EnableDownloadSetting();
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TfrmJobEd::EnableUploadSetting()
    {
       for(int i = 0; i < grpULLS->ControlCount; i++){
         if(  grpULLS->Controls[i]->InheritsFrom(__classid(TControl))  ){
            if(chkUpload->Checked){
              dynamic_cast<TControl*>(grpULLS->Controls[i])->Enabled = true;
            }else{
              dynamic_cast<TControl*>(grpULLS->Controls[i])->Enabled = false;
            }
         }
       }
       grpULLS->Invalidate();
    
       for(int i = 0; i < tabUpload->ControlCount; i++){
         if(  tabUpload->Controls[i]->InheritsFrom(__classid(TControl))
              && tabUpload->Controls[i]->ClassNameIs("TBitBtn") == false  ){
            if(chkUpload->Checked){
              dynamic_cast<TControl*>(tabUpload->Controls[i])->Enabled = true;
            }else{
              if(tabUpload->Controls[i]->Name != "chkUpload"){
                dynamic_cast<TControl*>(tabUpload->Controls[i])->Enabled = false;
              }
            }
         }
       }
    }
    //---------------------------------------------------------------------------
    void __fastcall TfrmJobEd::chkUploadClick(TObject *Sender)
    {
       this->EnableUploadSetting();
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TfrmJobEd::initFTPTest()
    {
     //Tab 1
     IdFTPTest->Host        = edtServer->Text.Trim();
     IdFTPTest->Port        = StrToInt(edtPort->Text.Trim());
     IdFTPTest->ReadTimeout = StrToInt(edtTimeout->Text.Trim());
     IdFTPTest->Username    = edtUser->Text.Trim();
     IdFTPTest->Password    = edtPw->Text.Trim();
    
     //Tab 2
     IdFTPTest->Passive        = chkPassive->Checked;
     if(chkProxy->Checked){
       IdFTPTest->ProxySettings->ProxyType  = TIdFtpProxyType(cboPType->ItemIndex);
       IdFTPTest->ProxySettings->Host       = edtProxy->Text.Trim();
       IdFTPTest->ProxySettings->Port       = StrToInt(edtPPort->Text.Trim());
       IdFTPTest->ProxySettings->UserName   = edtPUser->Text.Trim();
       IdFTPTest->ProxySettings->Password   = edtPPw->Text.Trim();
     }else{
       IdFTPTest->ProxySettings->ProxyType  = TIdFtpProxyType(0);
       IdFTPTest->ProxySettings->Host       = "";
       IdFTPTest->ProxySettings->Port       = 0;
       IdFTPTest->ProxySettings->UserName   = "";
       IdFTPTest->ProxySettings->Password   = "";
     }
    
     IdFTPTest->RecvBufferSize = StrToInt(edtRecvBufferSize->Text);
     IdFTPTest->SendBufferSize = StrToInt(edtSendBufferSize->Text);
    
    }
    //---------------------------------------------------------------------------
    void __fastcall TfrmJobEd::btnDLLSSClick(TObject *Sender)
    {
     frmScriptEd->m_bSaveScript = false;
     frmScriptEd->txtScript->Text  = this->m_DLLSSTXT;
     frmScriptEd->ShowModal();
     if(frmScriptEd->m_bSaveScript){
        this->m_DLLSSTXT = frmScriptEd->txtScript->Text;
     }
     frmScriptEd->txtScript->Text = "";
    }
    //---------------------------------------------------------------------------
    void __fastcall TfrmJobEd::btnDLLSEClick(TObject *Sender)
    {
     frmScriptEd->m_bSaveScript = false;
     frmScriptEd->txtScript->Text  = this->m_DLLSETXT;
     frmScriptEd->ShowModal();
     if(frmScriptEd->m_bSaveScript){
        this->m_DLLSETXT = frmScriptEd->txtScript->Text;
     }
     frmScriptEd->txtScript->Text = "";
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TfrmJobEd::btnULLSSClick(TObject *Sender)
    {
     frmScriptEd->m_bSaveScript = false;
     frmScriptEd->txtScript->Text  = this->m_ULLSSTXT;
     frmScriptEd->ShowModal();
      if(frmScriptEd->m_bSaveScript){
        this->m_ULLSSTXT = frmScriptEd->txtScript->Text;
     }
     frmScriptEd->txtScript->Text = "";
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TfrmJobEd::btnULLSEClick(TObject *Sender)
    {
     frmScriptEd->m_bSaveScript = false;
     frmScriptEd->txtScript->Text  = this->m_ULLSETXT;
     frmScriptEd->ShowModal();
     if(frmScriptEd->m_bSaveScript){
        this->m_ULLSETXT = frmScriptEd->txtScript->Text;
     }
     frmScriptEd->txtScript->Text = "";
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TfrmJobEd::DoFTPTest()
    {
       try{
          IdFTPTest->Connect();
       }catch (Exception &exception){
          String sMsg = "Verbindung fehlgeschlagen\n\n"+exception.Message;
          MessageBox(0, sMsg.c_str(),"",MB_OK+MB_ICONINFORMATION);
        return;
       }
    
       if(IdFTPTest->Connected()){
          MessageBox(0, "Verbindung O.K.","",MB_OK+MB_ICONINFORMATION);
       }else{
          MessageBox(0, "Verbindung fehlgeschlagen","",MB_OK+MB_ICONWARNING);
          return;
       }
    
       String sLocalFolder = edtLocalFolder->Text.Trim();
       String sRemoteFolder = edtRemoteFolder->Text.Trim();
       int iMsgRet;
    
       iMsgRet = MessageBox(0, "Ordner prüfen","",MB_YESNO+MB_ICONQUESTION);
    
       if(iMsgRet == IDYES){
    
         sbrJobEd->Panels->Items[0]->Text = "prüfe lokalen Ordner "+edtLocalFolder->Text.Trim();
         if(!DirectoryExists(sLocalFolder)){
           String sMsg = "Lokaler Ordner nicht vorhanden ("+edtLocalFolder->Text.Trim()+")";
           MessageBox(0, sMsg.c_str(),"",MB_OK+MB_ICONWARNING);
           sbrJobEd->Panels->Items[0]->Text = "";
           return;
         }
    
         if(sRemoteFolder != ""){
           sbrJobEd->Panels->Items[0]->Text = "prüfe Server Ordner "+edtRemoteFolder->Text.Trim();
           try{
              IdFTPTest->ChangeDir(sRemoteFolder);
           }catch(Exception &exception){
             String sMsg = "Server Ordner nicht vorhanden\n\n"+exception.Message;
             MessageBox(0, sMsg.c_str(),"",MB_OK+MB_ICONWARNING);
             sbrJobEd->Panels->Items[0]->Text = "";
             return;
           }
         }
       }
    
       if(chkUpload->Checked || chkDownload->Checked){
          iMsgRet = MessageBox(0, "Download/Upload prüfen","",MB_YESNO+MB_ICONQUESTION);
       }
       if(  (chkUpload->Checked || chkDownload->Checked) && iMsgRet == IDYES  ){ // *1
          IdFTPTest->TransferType = TIdFTPTransferType(0);
    
          String sTestFile = ExtractFileName(ChangeFileExt(Application->ExeName,".tmp"));
    // nach dieser Zeile
          String sDownloadPath = edtLocalFolder->Text.Trim();
    
          if(sDownloadPath == ""){
             char cBuffer[MAX_PATH];
             GetTempPath(cBuffer);
             sDownloadPath = (String)cBuffer;
          }
    
          sDownloadPath = FixWinPath(sDownloadPath);
    
          sbrJobEd->Panels->Items[0]->Text = "erzeuge Test Datei für Transfer";
          WriteLog(sDownloadPath.c_str(),sTestFile.c_str(),"test upload/download file");
    
          sbrJobEd->Panels->Items[0]->Text = "lade Test Datei auf Server";
          try{
             IdFTPTest->Put(sDownloadPath+sTestFile, sTestFile);
          }catch(Exception &exception){
             String sMsg = "Test Datei Upload fehlgeschlagen\n\n"+exception.Message;
             MessageBox(0, sMsg.c_str(),"",MB_OK+MB_ICONWARNING);
             sbrJobEd->Panels->Items[0]->Text = "";
             return;
          }
    
          sbrJobEd->Panels->Items[0]->Text = "lösche lokale Test Datei";
          if(!DeleteFile(sDownloadPath+sTestFile)){
             String sMsg = "Löschen der Lokalen Test Datei fehlgeschlagen";
             MessageBox(0, sMsg.c_str(),"",MB_OK+MB_ICONWARNING);
          }
    
          if(chkDownload->Checked == false){
             sbrJobEd->Panels->Items[0]->Text = "lösche Test Datei auf Server";
             try{
                IdFTPTest->Delete(sTestFile);
             }catch(Exception &exception){
                String sMsg = "Löschen der Test Datei auf Server fehlgeschlagen\n\n"+exception.Message;
                MessageBox(0, sMsg.c_str(),"",MB_OK+MB_ICONWARNING);
                sbrJobEd->Panels->Items[0]->Text = "";
                return;
             }
          }else{
             sbrJobEd->Panels->Items[0]->Text = "lade Test Datei vom Server";
             try{
                IdFTPTest->Get(sTestFile, sDownloadPath+sTestFile,true);
             }catch(Exception &exception){
                String sMsg = "Test Datei Download fehlgeschlagen\n\n"+exception.Message;
                MessageBox(0, sMsg.c_str(),"",MB_OK+MB_ICONWARNING);
                sbrJobEd->Panels->Items[0]->Text = "";
                return;
             }
    
             sbrJobEd->Panels->Items[0]->Text = "lösche Test Datei vom Server";
             try{
                IdFTPTest->Delete(sTestFile);
             }catch(Exception &exception){
                String sMsg = "Löschen der Test Datei auf Server fehlgeschlagen\n\n"+exception.Message;
                MessageBox(0, sMsg.c_str(),"",MB_OK+MB_ICONWARNING);
                sbrJobEd->Panels->Items[0]->Text = "";
                return;
             }
    
             sbrJobEd->Panels->Items[0]->Text = "lösche lokale Test Datei";
             if(!DeleteFile(sDownloadPath+sTestFile)){
                String sMsg = "Löschen der Lokalen Test Datei fehlgeschlagen";
                MessageBox(0, sMsg.c_str(),"",MB_OK+MB_ICONWARNING);
                sbrJobEd->Panels->Items[0]->Text = "";
                return;
             }
          }
       } // *1
       MessageBox(0, "Test abgeschlossen","",MB_OK+MB_ICONINFORMATION);
       sbrJobEd->Panels->Items[0]->Text = "";
    }
    //---------------------------------------------------------------------------
    


  • Ich wollte zwar jetzt nicht unbedingt alles sehn, aber egal 😃

    Auf Anhieb kann ich aber keine Fehler entdecken. Dann hat dein BCB an der Stelle wohl woanders das Problem. Vielleicht ist es aber auch ein Bug? Kann dazu leider nichts sagen.



  • PuppetMaster2k schrieb:

    Ich wollte zwar jetzt nicht unbedingt alles sehn, aber egal 😃

    Auf Anhieb kann ich aber keine Fehler entdecken. Dann hat dein BCB an der Stelle wohl woanders das Problem. Vielleicht ist es aber auch ein Bug? Kann dazu leider nichts sagen.

    Danke trotzdem für deine Mühe!!!!



  • Ich denke, es ist wirklich ein Bug im BCB. Ich habe auch Units, die einwandfrei kompiliert werden, aber bei der Code-Vervollständigung
    kommt dann nur eine Message-Box, die mir mitteilt, ich hätte Fehler im Quelltext. Ich hatte diesbezüglich auch schon mal hier im [url=http://www.c-plusplus.net/forum/viewtopic.php?t=12299&highlight=]Forum
    danach gefragt[/url], aber es wusste auch damals keiner. 😞

    Gruß,

    Alexander



  • Alexander Kempf schrieb:

    Ich denke, es ist wirklich ein Bug im BCB. Ich habe auch Units, die einwandfrei kompiliert werden, aber bei der Code-Vervollständigung
    kommt dann nur eine Message-Box, die mir mitteilt, ich hätte Fehler im Quelltext. Ich hatte diesbezüglich auch schon mal hier im [url=http://www.c-plusplus.net/forum/viewtopic.php?t=12299&highlight=]Forum
    danach gefragt[/url], aber es wusste auch damals keiner. 😞

    Gruß,

    Alexander

    Na dann sind mir immerhin schon zu Zweit mit dem Problem 😉


  • Mod

    Hallo

    habt ihr schonmal den Standartweg ausprobiert
    (loeschen alles nicht benoetigter Dateien + alle OBJ)
    und alle sneu uebersetzen

    (Ich arbeite seit BCB 3 mit dem Teil und kann nur sagen, wenn so ein Fehler nbei mir aufgetreten ist wurde er damit beseitigt

    MfG
    Klaus



  • KlausB schrieb:

    habt ihr schonmal den Standartweg ausprobiert
    (loeschen alles nicht benoetigter Dateien + alle OBJ)
    und alle sneu uebersetzen

    Da mein Beitrag ja schon etwas älter ist, kann ich mich nicht mehr erinnern, ob ich damals diesen Weg schon ausprobiert habe, aber ich vermute
    es doch stark. Seit der Zeit habe ich das bestimmt schon einige Male gemacht, aber das Problem ist geblieben.
    Allerdings arbeite ich mit dem BCB 6 Enterprise. Vielleicht hat das ja in den guten alten Tagen des BCB 3 (die ich nie miterlebt habe) noch ge-
    klappt - wäre nicht der erste Bug, der erst in der Version 6 aufgetaucht ist.

    Gruß,

    Alexander


  • Mod

    Hallo

    ich arbeite nicht mehr mit dem BCB3
    bin seit einiger Zeit schon auf BCB4, dann auf BCB6 umgestiegen
    und es war eigentlich immer derselbe Fehler (-behebung)

    MfG
    Klaus



  • Danke Leute, es leben die Käfer!!!!!!!


Anmelden zum Antworten