全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:851
推到 Plurk!
推到 Facebook!

Label1->Caption 字型問題

尚未結案
renth555
一般會員


發表:32
回覆:65
積分:19
註冊:2003-02-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-27 00:42:43 IP:61.56.xxx.xxx 未訂閱
Label1->Caption 發現如果用回圈一直改變 Label1->Caption 內容 會出現錯誤 (翻譯的結果好像是說 無效的指標) 我的解決方式是改變成字型為(新細明體)就沒有錯誤發生了 這種情形是發生在 windows XP Home OS 上 在 windows98 沒會有這情形,我抓這問題抓了3星期一直抓頭髮 結果發現只問題 發表這篇文章,希望有前輩指導與說明這是否 BUG 呢 謝謝
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-27 00:58:17 IP:140.135.xxx.xxx 未訂閱
renth555您好:
引言: 發現如果用回圈一直改變 Label1->Caption 內容 會出現錯誤 (翻譯的結果好像是說 無效的指標)
方便將您的程式碼貼上來嗎? 我想試看看 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
renth555
一般會員


發表:32
回覆:65
積分:19
註冊:2003-02-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-03 02:18:17 IP:61.56.xxx.xxx 未訂閱
     //---------------------------------------------------------------------------    #include 
#pragma hdrstop    #include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------    void __fastcall TForm1::Button1Click(TObject *Sender)
{
   gcopy = new bbb(true);
   gcopy->Resume();        
}
//---------------------------------------------------------------------------        //---------------------------------------------------------------------------    #include 
#pragma hdrstop    #include "Unit2.h"
#include "Unit1.h"
#pragma package(smart_init)    #include "FileCtrl.hpp"
//---------------------------------------------------------------------------    //   Important: Methods and properties of objects in VCL can only be
//   used in a method called using Synchronize, for example:
//
//      Synchronize(UpdateCaption);
//
//   where UpdateCaption could look like:
//
//      void __fastcall bbb::UpdateCaption()
//      {
//        Form1->Caption = "Updated in a thread";
//      }
//---------------------------------------------------------------------------    __fastcall bbb::bbb(bool CreateSuspended)
        : TThread(CreateSuspended)
{
}
//---------------------------------------------------------------------------
void bbb::SetName()
{
        THREADNAME_INFO info;
        info.dwType = 0x1000;
        info.szName = "vb";
        info.dwThreadID = -1;
        info.dwFlags = 0;            __try
        {
                 RaiseException( 0x406D1388, 0, sizeof(info)/sizeof(DWORD),(DWORD*)&info );
        }
        __except (EXCEPTION_CONTINUE_EXECUTION)
        {
        }
}
//---------------------------------------------------------------------------
void __fastcall bbb::Execute()
{
        SetName();
        //---- Place thread code here ----            for(int i=0; i<5100; i  )
            COPY_FILES("c:","d:\\xxx");    }
//---------------------------------------------------------------------------
void __fastcall bbb::COPY_FILES(String SDIR,String DDIR)
{      String d=SDIR;
  String d2=DDIR;
  TSearchRec SearchRec;
  if(!DirectoryExists(SDIR)) return;
  if(d.SubString(d.Length(),1)!="\\") d=d "\\";
  if(d2.SubString(d2.Length(),1)!="\\") d2=d2 "\\";
  if(FindFirst(d "*.*", faAnyFile, SearchRec) == 0)
  {
     do{
        if(SearchRec.Attr == faDirectory)
        {
           if((SearchRec.Name != ".") && (SearchRec.Name != ".."))
           {
              COPY_FILES(d SearchRec.Name,d2 SearchRec.Name); //遞迴呼叫
              Form1->Label3->Caption=d SearchRec.Name;
           }
        }
        else
        {
           FileSetAttr(d SearchRec.Name,faArchive);
           String X1 = d SearchRec.Name;
           String X2 = d2 SearchRec.Name;
           Form1->Label2->Caption=X1;
        }
     }while(FindNext(SearchRec) == 0);
     FindClose(SearchRec);
  }    }
//---------------------------------------------------------------------------    
這段程式碼是我用站上某文章做測試 但我的原始程式碼功能類似這樣因為程式碼太亂了小弟很難整理 所以借用了一下 但問題確實是在 Label 上 對不起 前一篇文章我說錯了 我是在 winxp home 執行正常 在 win98se 執行才發生錯誤 而程式是用 BCB6 在 winxp Home 下編譯的 解決辦法是我把 Label 設新細明體在 win98se 就正常了 我發現在 win98se 設計的 Label 拿到 winXP Home 下執行會字型亂掉 反之 XP 的程式在 98 下執行字型位置也會變的不一樣 請見諒我是新手表達不是很清楚
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-03 02:28:58 IP:140.135.xxx.xxx 未訂閱
在98上啊,我這邊都沒有這樣的環境說 那只好請其他人幫您看看了,抱歉... 因為之前我看到您的問題,單純用回圈一直改變> > <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
系統時間:2024-05-18 20:30:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!