Delphi问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi问题相关的知识,希望对你有一定的参考价值。
在制作一个Splash窗口时遇到的问题,我的制作步骤如下:
1.创建一个新项目,添加一个文本框控件,将caption值改为welcome to delphi7!
2.创建Splash窗体.新建一个窗体设好各种属性.
3.实现Splash窗体.添加代码:application.Initialize;
splash:=Tsplash.Create(application);
Splash.Show;
Splash.update;
application.CreateForm(Tform1,form1);
splash. free;
application.Run;
4.在主窗体的oncreate事件中添加代码:
var
CurTime:LongWord;
Delaytime:LongWord;
begin
delaytime:=5000;
curtime:=GetTickCount ;
while(gettickcount<(curtime+delaytime))do;
当运行时总时出现这两个错误:
[Error] Unit2.pas(32): Undeclared identifier: 'TForm1'
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit2.pas'
请问怎么修改????????
是Splash窗体
Unit1~~Form1:主窗体
Unit2~~splash Splash窗体
project->Options:把Splash窗体设为非自动产生窗体
procedure TForm1.FormCreate(Sender: TObject);
var
CurTime:LongWord;
Delaytime:LongWord;
begin
delaytime:=5000;
curtime:=GetTickCount ;
while(gettickcount<(curtime+delaytime))do
Application.ProcessMessages; //建议加上该句。
end;
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' Form1,
Unit2 in 'Unit2.pas' splash;
$R *.res
begin
Application.Initialize;
splash:=Tsplash.Create(application);
Splash.Show;
Splash.update;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Delphi6+win2k 编译,运行,通过。 参考技术A 未定义的TForm1,然后提示Unit2单元不能编译,你可能未USE TFORM1,也可能你把TFORM1改名了,而在代码中又用了它.你双击这个ERROR,看看定位在那里,再联系上下看一下,像这样的提示不般不是大问题! 参考技术B Unit2.pas 是哪个窗体的?
delphi DBGridEh 问题
DBGridEh的OnGetCellParams事件中
if qymst.FieldByName('spunit').AsString = 'm' then
begin
dbgrideh1.FieldColumns['pcs'].Font.Color := clred;
end
else
dbgrideh1.FieldColumns['pcs'].Font.Color := clnone;为什么当spunit <> m 的时候怎个网格都在闪
if qymst.FieldByName(\'spunit\').AsString = \'m\' then
begin
dbgrideh1.FieldColumns[\'pcs\'].Font.Color := clred;
end;
这样就好了。 参考技术A 因为一直在重复赋值。当spunit <> m 的时候,字段pcs的字体颜色为空。但是你代码不该放在getcellparams事件中,建议放在DataSource的 dataChange事件中。
以上是关于Delphi问题的主要内容,如果未能解决你的问题,请参考以下文章